左連線 ,右連線,內連線和全外連線的4者區別

2021-09-29 23:12:44 字數 1102 閱讀 8859

基本定義:

left join (左連線):返回包括左表中的所有記錄和右表中連線字段相等的記錄。

right join (右連線):返回包括右表中的所有記錄和左表中連線字段相等的記錄。

inner join (等值連線或者叫內連線):只返回兩個表中連線字段相等的行。

full join (全外連線):返回左右表中所有的記錄和左右表中連線字段相等的記錄。

舉個例子:

a表          

id  name  

1  小王

2  小李

3  小劉

b表id  a_id  job

1  2    老師

2  4    程式設計師

內連線:(只有2張表匹配的行才能顯示)

select a.name,b.job from a a  inner join b b on a.id=b.a_id

只能得到一條記錄

小李  老師

左連線:(左邊的表不加限制)

select a.name,b.job from a a  left join b b on a.id=b.a_id

三條記錄

小王  null

小李  老師

小劉  null

右連線:(右邊的表不加限制)

select a.name,b.job from a a  right join b b on a.id=b.a_id

兩條記錄

小李  老師

null  程式設計師

全外連線:(左右2張表都不加限制)

select a.name,b.job from a a  full join b b on a.id=b.a_id

四條資料

小王  null

小李  老師

小劉  null

null  程式設計師

注:在sql中l外連線包括左連線(left join )和右連線(right join),全外連線(full join),等值連線(inner join)又叫內連線。

內連線,左外連線,右外連線,全連線

1.內連線我們通常用的連線,表表連線只顯示交集資料 2.外連線分左外連線 table1 left outer join on table2 和右外連線table1 right outer join on table2 和全連線 table1 full outer join on table2 2.1...

內連線,外連線,左連線,右連線,全連線

連線是指將關聯式資料庫中的兩個表根據內容一定的條件連線成乙個表.內連線是最常用的鏈結,也叫等值鏈結,最常見的格式是 selecta.b.fromta as a tb as b wherea.id b.id 或者 selecta.b.fromtaasainnerjoin tbasb on a.id b...

SQL 左外連線,右外連線,全連線,內連線

例子1 a表 id name b表 id job parent id 1 張3 1 23 1 2 李四 2 34 2 3 王武 3 34 4 a.id同parent id 存在 關係內連線 select a.b.from a inner join b on a.id b.parent id 結果是 ...