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

Posted

tags:

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

左外连接 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的四种连接-左外连接右外连接内连接全连接

转深入理解SQL的四种连接-左外连接右外连接内连接全连接

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