连接的分类
-
内连接
- 等值连接(INNER JOIN)
- 自然连接(NATURAL JOIN)
- 交叉连接(CROSS JOIN)
- 不等连接
-
外连接
- 左外连接(LEFT OUTER)
- 右外连接(RIGHT OUTER)
- 全外连接(FULL OUTER)
连接类型 | 说明 | 图例 | SQL示例 |
---|---|---|---|
等值连接 | 只用等号进行连接 | select * from A INNER JOIN B where A.key = B.key |
|
自然连接 | 只用等号进行连接,且去掉重复的行 | select * from A NATURL JOIN B |
|
交叉连接 | 也叫笛卡尔积,连接A和B,不进行任何过滤 | 无 | select * from A,B |
不等连接 | 与等值连接相反,使用不等号进行连接 | select * from A INNER JOIN B where A.key != B.key |
|
左外连接 | 连接时左表不受限制 | select * from A LEFT OUTER JOIN B where A.key = B.key |
|
右外连接 | 连接时右表不受限制 | select * from A RIGHT OUTER JOIN B where A.key = B.key |
|
全外连接 | 连接时左右表都不受限制 | select * from A FULL OUTER JOIN B where A.key = B.key |