左外连接与右外连接区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了左外连接与右外连接区别?相关的知识,希望对你有一定的参考价值。

左外连接,符合where条件筛选后的左表数据全部显示,右表只显示与左表相关联的数据,不存在的列用null填充。

右外连接,符合where条件筛选后的右表数据全部显示,左表只显示与右表相关联的数据,不存在的列用null填充。
参考技术A 个人理解:
左外连接,就是符合左边表的条件就拉出来.同理右外连接.
因为有时候左右2边的表数据不一致,比如左边有,右边没,
那用左连接就会把左边的都拉出来,右边的如果符合条件也拉出来,
大概就是这样吧.
具体要自己多去练习才有体会

左外连接右外连接内连接全连接的概念

左外连接 LEFT JOIN 或 LEFT OUTER JOIN
结果集包括:左表中所有的行,右表中满足关联条件的行,如果左表中某一行在右表中没有匹配行,右表中对应的列值在结果集中为空

右外连接 RIGHT JOIN 或 RIGHT OUTER JOIN
刚好和左外连接相反

内连接 INNER JOIN
结果集只列出关联表中满足关联条件的行

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

例子:   

-------------------------------------------------
  a表     id   name     b表     id   job   parent_id   
              1   张3                  1     23     1   
              2   李四                 2     34     2   
              3   王武                 3     34     4       
  a.id同parent_id   存在关系   

--------------------------------------------------    
 1) 内连接   
  select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id       
  结果是     
  1   张3                   1     23     1   
  2   李四                  2     34     2   
    
  2)左连接   
  select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id       
  结果是     
  1   张3                   1     23     1   
  2   李四                  2     34     2   
  3   王武                  null   

 

 3) 右连接   
  select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id       
  结果是     
  1   张3                   1     23     1   
  2   李四                  2     34     2   
  null                       3     34     4   
    
 4) 完全连接   
  select   a.*,b.*   from   a   full   join   b     on   a.id=b.parent_id   

  结果是     
  1   张3                  1     23     1   
  2   李四                 2     34     2   
  null                   3     34     4   
  3   王武                 null

以上是关于左外连接与右外连接区别?的主要内容,如果未能解决你的问题,请参考以下文章

SQL中的左连接与右连接,内连接有啥区别

SQL:内连接左外连接右外连接全连接交叉连接区别

sql左外连接和右外连接的区别例子转摘

内连接左外连接右外连接交叉连接区别

内连接左外连接右外连接交叉连接区别

深入理解关系中的外连接,左外连接,右外连接