SQL提供了多种类型的连接方式,它们之间的区别在于从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同,通过项目中的一下实践,整理一下连接类型的用法.
连接类型 定义
1. 内连接 | 只连接匹配的行
2.左外连接 | 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行
3.右外连接 | 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行
4.全外连接 | 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。
假设 | a表和b表的数据是这样的
A | B | ||
ID | NAME | ID | STOCK |
1 | a | 1 | 15 |
2 | b | 2 | 20 |
3 | c |
1.1 内连接 ( INNER JOIN ) 内连接是最常见的一种连接,它也被称为普通连接
select * from a,b where a.id=b.id
A | B | ||
ID | NAME | ID | STOCK |
1 | a | 1 | 15 |
2 | b | 2 | 20 |
1.2 左外连接 (LEFT OUTER JOIN)
select a.*,b.* from a left join b on a.id=b.id
A | B | ||
ID | NAME | ID | STOCK |
1 | a | 1 | 15 |
2 | b | 2 | 20 |
3 | c | NULL | NULL |
1.3 右外连接 ( RIGHT JOIN )
select a.*,b.* from a right join b on a.id=b.id
A | B | ||
ID | NAME | ID | STOCK |
1 | a | 1 | 15 |
2 | b | 2 | 20 |
转载自:http://blog.163.com/shenshengqge@126/blog/static/820512902012052275179/