左外連接會傳回包含左表中的所有記錄和右表中連接欄位相等的記錄;右表沒資料則為null。右外連接會傳回包含右表中的所有記錄和左表中連接欄位相等的記錄;左表沒資料則為null。全外連接會傳回左右表中所有的記錄和左右表中連接欄位相等的記錄。
在sql中l外連接包括左連接(left join )和右連接(right join),全外連接(full join)。
左外連接(左連接):傳回包含左表中的所有記錄和右表中連接欄位相等的記錄。
右外連接(右連接):傳回包含右表中的所有記錄和左表中連接欄位相等的記錄。
全外連接:傳回左右表中所有的記錄和左右表中連接欄位相等的記錄。
先放兩個表 一個學生表;一個成績表
左外連接
將傳回右表的所有行。如果左表的某行在右表中沒有符合行,則會為右表傳回空值左連接:select *from Student LEFT JOIN Score ON Student.s_id=Score.s_id
以左表為主表,右表沒資料為null
右外連接
將傳回右表的所有行。如果右表的某行在左表中沒有符合行,則將為左表傳回空值;
以右表為主表,左表中沒資料的為null
select *from Student right JOIN Score ON Student.s_id=Score.s_id
全外連接(FULL JOIN 或FULL OUTER JOIN)
完整外部聯結傳回左表和右表中的所有行。當某行在另一個表中沒有符合行時,則另一個表的選擇清單列包含空值。如果表之間有匹配行,則整個結果集行包含基底表的資料值。
select *from Student full JOIN Score ON Student.s_id=Score.s_id select *from Student full outer JOIN Score ON Student.s_id=Score.s_id
相關推薦:《SQL教學》
以上是如何區分左外連接,右外連接和全外連接?的詳細內容。更多資訊請關注PHP中文網其他相關文章!