SQL的四种连接-左外连接、右外连接、内连接、全连接


内连接inner join...on... /  join...on...

  展现出来的是共同的数据

  select m.Province,S.Name from member m inner join ShippingArea s on m.Province=s.ShippingAreaID;

  相当于: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;

  以左表为主表,右表没数据为null

右连接(右外连接)right join...on...

  将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值;

  以右表为主表,左表中没数据的为null

  select m.Province,S.Name from member m right join ShippingArea s on m.Province=s.ShippingAreaID;

全外连接FULL  JOIN ...on...

  完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

  select m.Province,S.Name from member m full join ShippingArea s on m.Province=s.ShippingAreaID;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM