什么是左连接?什么是右连接?
(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 =