區別:左連接返回包括左表中的所有記錄和右表中連接字段相等的記錄;右連接返回包括右表中的所有記錄和左表中連接字段相等的記錄;內連接只返回兩個表中連接字段相等的行;全外連接返回左右表中所有的記錄和左右表中連接字段相等的記錄。
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)又叫內連接。
相關推薦:《SQL教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END