SQL: 左连接,右连接,内连接,左外连接,右外连接,完全连接

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

 原表如上

 

1.左连接:

官方解释:left join(左连接)返回包括左表中的所有记录和右表中连接字段相等的记录

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

 

2.右连接:

官方解释:right join(右连接)返回包括右表中的所有记录uhe和左表中连接字段相等的记录

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

 

3.内连接:

官方解释:inner join(等值连接)之返回两个表这哦个连接字段相等的行

内连接   
  select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id       
  结果是     
  1   张三                   1     23     1   
  2   李四                   2     34     2   

 

4.左外连接: 等同于左链接

5.右外连接: 等同于右链接

6.完全连接:

完全连接   
  select   a.*,b.*   from   a   full   join   b     on   a.id=b.parent_id   

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

 

项目应用:

 

posted @ 2018-05-14 13:51  筱筱的春天  阅读(720)  评论(0编辑  收藏  举报