(+)介绍
(+)是oracle 中的一种特殊的用法,(+)表示外连接,并且总是放在非主表的一方。
- (+)操作符只能出现在WHERE子句中,并且不能与OUTER JOIN语法同时使用
- 使用(+)操作符执行外连接时,如果在WHERE子句中包含有多个条件,则必须在所有条件中都包含(+)操作符
- (+)操作符只适用于列,而不能用在表达式上
- (+)操作符不能与OR和IN操作符一起使用
- (+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接
左外连接
左条件 = 右条件(+)
SELECT
A.a,
B.a
FROM
A,
B
WHERE
A.b = B.b(+)
等价于
SELECT
A.a,
B.a
FROM
A
LEFT JOIN B ON A.b = B.b
右外连接
右条件 = 左条件(+)
SELECT
A.a,
B.a
FROM
A,
B
WHERE
B.b = A.b(+)
等价于
SELECT
A.a,
B.a
FROM
A
RIGHT JOIN B ON A.b = B.b