left join ,right join

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      王五

你可能感兴趣的:(left join ,right join)