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

posted @ 2009-10-12 09:29  0707  阅读(189)  评论(1编辑  收藏  举报