小編給大家分享一下sql中左連接、右連接、內(nèi)連接、全外連接對(duì)比有哪些區(qū)別,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
區(qū)別:左連接返回包括左表中的所有記錄和右表中連接字段相等的記錄;右連接返回包括右表中的所有記錄和左表中連接字段相等的記錄;內(nèi)連接只返回兩個(gè)表中連接字段相等的行;全外連接返回左右表中所有的記錄和左右表中連接字段相等的記錄。
left join (左連接,左外連接):返回包括左表中的所有記錄和右表中連接字段相等的記錄。
right join (右連接,右外連接):返回包括右表中的所有記錄和左表中連接字段相等的記錄。
inner join (等值連接或者叫內(nèi)連接):只返回兩個(gè)表中連接字段相等的行。
full join (全外連接):返回左右表中所有的記錄和左右表中連接字段相等的記錄。
舉個(gè)例子:
A表
id name
1 小王
2 小李
3 小劉
B表
id A_id job
1 2 老師
2 4 程序員
內(nèi)連接:(只有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
四條數(shù)據(jù)
小王 null 小李 老師 小劉 null null 程序員
注:在sql中l(wèi)外連接包括左連接(left join )和右連接(right join),全外連接(full join),等值連接(inner join)又叫內(nèi)連接。
看完了這篇文章,相信你對(duì)“sql中左連接、右連接、內(nèi)連接、全外連接對(duì)比有哪些區(qū)別”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!