基本定義:
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 結果是 ...