记录一下数据库外连接 的不同

left join   ----是左外链接,通常需要一个驱动表作为主表   例如: 

 1  select * from
 2 
 3 A
 4 
 5 left join b on A.id=b.kid  
 6 
 7 left join c on A.id=c.kid  
 8 
 9 left join d on A.id=d.kid   and d.type='1'
10 
11 where c.type='101';
12 
13 ---这个语句 当没有 where 条件时候会查出和A表相同数目的数据
14 ---and d.type='1' 这个条件只会限制关联d表时候的数据,其实就相当于给d表增加了一个where 条件 ,和(select * from  d where d.type='1')等价,但是不会影响查出来数据的总数。
15 而最后的where是把前面所有关联表查出来的数据做了一个筛选,是最后结果的where条件。
16 left join 是主表驱动,关联若干副表,主表有数据,副表查不出数据副表就会显示null,但是主表依然会显示,当主表和副表为一对多时候,左边会显示主表重复数据,对应副表的多条数据。

FULL   JOIN 全关联 左右都可为null, 并集

 

posted @ 2019-03-14 11:34  升级打怪猴  阅读(112)  评论(0编辑  收藏  举报