有关数据库中的 连接(外连接、内链接、全连接)

来源:互联网 发布:sql数据库紧急模式 编辑:程序博客网 时间:2024/06/07 07:15
SQL语句中有关的连接主要有: 外连接、内链接、全连接。
1、外连接 
又分为: 左外连接、右外连接、完整外部联接。。。

LEFT   JOIN   或  LEFT   OUTER  JOIN。  
左向外联接的结果集包括   LEFT   OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

RIGHT   JOIN   或  RIGHT   OUTER  JOIN。  
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

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

INNER  JOIN
内连接为 两个表中必须都同时满足条件时,也可以说是两个表中都必须在另一个表中有对应的项,而不能为空。才返回该行。。。


下面是  copy  的例子:
例子:  
  a表     id  name     b表    id   job  parent_id  
            1   张3                1    23    
            2   李四              2     34    2  
            3   王武              3     34    4  
   
  a.id同parent_id   存在
关系  
   
  内连接  
  select   a.*,b.*  from   a  inner   join     on  a.id=b.parent_id  
   
  结果是    
  1   张3                1    23    
  2  李四                   34    2  
   
 左连接   
  select   a.*,b.*  from   a  left   join     on  a.id=b.parent_id  
   
  结果是    
  1   张3                1    23    
  2   李四              2     34    2  
  3   王武             null   

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

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

原文转自http://blog.sina.com.cn/s/blog_80e498b10100zm4c.html
0 0
原创粉丝点击