oracle (+)是什么意思

如题所述

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;

明白了记得给分!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-02
select * from a,b
where a.id=b.id(+)

这里的意思就是a,b表连接,a表先全部展示,然后b表id和a表一致的就连接上,没有的就补些空格在后边。
第2个回答  2011-08-01
这个表示左连接,或者右连接的意思,简单的解释:
表结构如下
id name job
01 jack cleck
02 owen
03 awer work
上述结构中owen名称对应JOB列无内容,如果想要查处一方有数据另一方没有数据就用到连接了。
第3个回答  2011-08-02
左连接,或右连接的意思
如;select * from shop a ,shopgoods b where a.shopid=b.shopid(+)代表左连接!
第4个回答  2011-08-01
外连接符号
类似left join,right join 语句
相似回答