SQL的四種連接-左外連接、右外連接、內(nèi)連接、全連接
內(nèi)連接inner join...on... / join...on...
展現(xiàn)出來的是共同的數(shù)據(jù)
select m.Province,S.Name from member m inner join ShippingArea s on m.Province=s.ShippingAreaID;
相當(dāng)于:select m.Province,S.Name from member m , ShippingArea s where m.Province=s.ShippingAreaID;
左連接(左外連接) left join...on...
將返回右表的所有行。如果左表的某行在右表中沒有匹配行,則將為右表返回空值左連接:
select m.Province,S.Name from member m left join ShippingArea s on m.Province=s.ShippingAreaID;
以左表為主表,右表沒數(shù)據(jù)為null
右連接(右外連接)right join...on...
將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值;
以右表為主表,左表中沒數(shù)據(jù)的為null
select m.Province,S.Name from member m right join ShippingArea s on m.Province=s.ShippingAreaID;
全外連接FULL JOIN ...on...
完整外部聯(lián)接返回左表和右表中的所有行。當(dāng)某行在另一個(gè)表中沒有匹配行時(shí),則另一個(gè)表的選擇列表列包含空值。如果表之間有匹配行,則整個(gè)結(jié)果集行包含基表的數(shù)據(jù)值。
select m.Province,S.Name from member m full join ShippingArea s on m.Province=s.ShippingAreaID;