- 概述
- 本文使用的表和其数据
- Oracle 11g R1 表连接
- 连接条件
- 等值连接(Equijoin)
- 自连接(Self Join)
- 笛卡尔积(Cartesian Products)
- 内连接(Inner Join)
- 外连接(Outer Join)
- 反连接(Antijoins)
- 半连接(Semijoins)
- 参考资料
- 修改记录
概述
Oracle 8i 之前的表连接:
- 等值连接(Equijoin)。
- 自连接(Self Join)。
- 外连接(Outer Join)。包括左外连接和右外连接。
Oracle 9 之后的表连接:
- 等值连接(Equijoin)。
- 自连接(Self Join)。
- 内连接(Inner Join)和交叉连接(Cross Join)。
- 外连接(Outer Join)。包括左外连接、右外连接和全外连接,以及对它们进行分区。
- 自然连接(Natural Join)。
- 还可以使用 USING 关键字和 ON 关键字建立连接。
本文使用的表和其数据
- 部门表 DEPT
- 员工表 EMP
注意:
- 员工表中没有部门为 "40" 的员工。
- 员工编号 "7839" 为职位最高的人,它没有上级。
- 员工编号为 "7654"、"7876"、"7934" 没有所属的部门。
Oracle 11g R1 表连接(Joins)
“连接(Join )”是一个查询,把两个或多个表(table)、视图(view)或物化视图(materialized view)的数据行合并。
无论何时,当多个表出现在 FROM 子句,Oracle 数据库都会执行一个连接。select 列出所有表的所有列。如下所示:
from emp, dept