區別:左連接返回包括左表中的所有記錄和右表中連接字段相等的記錄;右連接返回包括右表中的所有記錄和左表中連接字段相等的記錄;內連接字段相等的記錄;右連接返回包括右表中的所有記錄和左表中連接字段相等的記錄;內連接只傳回兩個表中連接欄位相等的行;全外連接傳回左右表中所有的記錄和左右表中連接欄位相等的記錄。
left join (左連接,左外連接):傳回包含左表中的所有記錄和右表中連接欄位相等的記錄。
right join (右連接,右外連接):傳回包含右表中的所有記錄和左表中連接欄位相等的記錄。
inner join (等值連接或叫內連接):只傳回兩個表中連接欄位相等的行。
full join (全外連接):傳回左右表中所有的記錄和左右表中連接欄位相等的記錄。
舉例:
##內連接:(只有2張表匹配的行才能顯示)A表
id name
1 小王
2 1 小王
2
3 小劉B表 id A_id job 1
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)又叫內連接。SQL教學相關推薦:《
以上是左連接、右連接、內連接、全外連接的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!