left join和right join区别是什么?

如题所述

(1)left join(左连接)是 left outer join的简写,返回左表中所有记录和右表中连接字段相等的记录,即返回的记录数和左表的记录数一样。

(2)right join(右连接),返回右表中所有记录和左表中连接字段相等的记录,即返回的记录数和右表的记录数一样。

(3)join(等值连接),只返回两个表中连接字段相等的记录。
有两个表A,B

A表结构及记录如下: B表结构及记录如下:
ID     num       IDnum
1      1001       2122
2      1002       4144
3      1003       6166
4      1004
则select * from A a left join B b on(a.ID = b.ID)的结果如下:
A.ID     A.num     B.ID    B.num

11001         null    null
21002         2       122
31003        null     null
41004        4        144

select * from A a right join B b on(a.ID = b.ID)

的结果如下:
A.IDA.num B.IDB.num

21002      2           122
41004      4           144
nullnull 6 166

select * from A a join B b on(a.ID = b.ID)</span>

的结果如下:
A.IDA.num B.ID B.num
21002 2 122
4 1004 4 144
如果找在A表中但不在B表中的ID时,用left join方法可以写作:
select * from A a left join B b on(a.ID =

温馨提示:答案为网友推荐,仅供参考
相似回答