http://www.cnblogs.com/ingstyle/p/4368064.html
http://blog.163.com/zc030802104@126/blog/static/751421472011273455375/
JOIN 分为:内连接(INNER JOIN)、外连接(OUTER JOIN)。
其中,外连接分为:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外连接(FULL OUTER JOIN),其中外连接的“OUTER”关键字可以省略不写。
join/inner join(等值连接) 只返回两个表中联结字段相等的行
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录




例:
表A有列ID,值为:
1
2
3
4
表B有列ID,值为:
3
4
5
6
1.内连接(显示左右两表能完全匹配的数据):
select A.ID, B.ID from A INNER JOIN B ON A.ID = B.ID
结果为:
3 3
4 4
2.左外连接(显示左表所有数据,右表匹配不上的显示为NULL):
select A.ID, B.ID from A LEFT JOIN B ON A.ID = B.ID
结果为:
1 NULL
2 NULL
3 3
4 4
3.右外连接(显示右表所有数据,左表匹配不上的显示为NULL):
select A.ID, B.ID from A RIGHT JOIN B ON A.ID = B.ID
结果为:
3 3
4 4
NULL 5
NULL 6
4.全外连接(显示左右两量表所有数据,两表匹配不上的显示为NULL):
select A.ID, B.ID from A FULL OUTER JOIN BON A.ID = B.ID
结果为:
1 NULL
2 NULL
3 3
4 4
NULL 5
NULL 6
实际应用中常用left join , 例如
select A.ID, B.ID from A LEFT JOIN B ON A.ID = B.ID
where B.id is null;
取出B中不存在的A.
1015

被折叠的 条评论
为什么被折叠?



