一、(+)为何意?
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(+);
---------ps----------
A LEFT JOIN B:
A表是主表,所以(+)写在非主表B一方。查询结果为:A,B表匹配的行加上A表中有,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;
---------ps----------
A RIGHT JOIN B:
B表是主表,所以(+)写在非主表A一方。查询结果为:A,B表匹配的行加上B表中有,A表中没有的行。
本文详细解释了Oracle数据库中(+)在LEFTJOIN和RIGHTJOIN中的特殊用法,指出它分别表示非主表的连接条件,并通过例子说明了左外连接和右外连接的区别。
1906

被折叠的 条评论
为什么被折叠?



