left join ,right join

来源:互联网 发布:循环赛日程表算法 编辑:程序博客网 时间:2024/05/17 08:40

inner join、 left join 、right join、 outer join之间的区别
A表(a1,b1,c1) B表(a2,b2)
a1  b1   c1      a2  b2
01 数学 95      01  张三
02 语文 90      02  李四
03 英语 80      04  王五
select A.*,B.* from A
inner join B on(A.a1=B.a2)
结果是:
a1  b1   c1     a2  b2
01 数学 95     01  张三
02 语文 90     02  李四

select A.*,B.* from A
left outer join B on(A.a1=B.a2) 相当于 select a.*,b.* from a,b where a.id=b.id(+)左链接
结果是:
a1  b1   c1    a2 b2
01 数学 95    01 张三
02 语文 90    02 李四
03 英语 80    NULL NULL

select A.*,B.* from A
right outer join B on(A.a1=B.a2)  select a.*,b.* from a,b where a.id(+)=b.id右链接
结果是:
a1      b1      c1       a2 b2
01      数学   95       01 张三
02      语文    90      02 李四
NULL NULL NULL    04 王五

select A.*,B.* from A
full outer join B on(A.a1=B.a2)
结果是:
a1        b1      c1      a2     b2
01        数学    95     01     张三
02        语文    90     02     李四
03        英语    80   NULL  NULL
NULL   NULL  NULL 04      王五