oracle中的(+)是一种特殊的用法,(+)表示外连接,并且总是放在非主表的一方。
例如左外连接:
select A.a,B.a from A LEFT JOIN B ON A.b=B.b;
等价于
select A.a,B.a from A,B where A.b = B.b(+);
再举个例子,这次是右外连接:
select A.a,B.a from A RIGHT JOIN B ON A.b=B.b;
等价于
select A.a,B.a from A,B where A.b (+) = B.b;