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;

posted @ 2019-08-28 18:11  野望之风  阅读(36727)  评论(1编辑  收藏  举报