查询末尾的 (+) 是啥? [复制]
Posted
技术标签:
【中文标题】查询末尾的 (+) 是啥? [复制]【英文标题】:What is (+) at the end of the query? [duplicate]查询末尾的 (+) 是什么? [复制] 【发布时间】:2015-08-04 04:27:00 【问题描述】:我对 oracle sql 很陌生,刚刚遇到了一个看起来像这样的查询
SELECT some_field
FROM some_table
WHERE some_other_field=some_value(+);
我对代码进行了简化和匿名化,但我很好奇最后的(+)
是什么。我不记得在 mssql 世界中看到过这种情况。
【问题讨论】:
请看我的详细回答***.com/a/28499208/3989608 可能更多的是What does(+)
do in a WHERE clause?的副本
请注意,自 9i R2 以来,Oracle 已弃用(但仍接受)这一点。
【参考方案1】:
这是 Oracle 旧的外连接语法:
编写一个执行表 A 和 B 的外连接的查询,并且 返回 A 中的所有行(左外连接),使用 LEFT [OUTER] JOIN FROM 子句中的语法,或将外连接运算符 (+) 应用于所有 WHERE 子句中连接条件中 B 的列。对于所有行 在 B 中没有匹配行的 A 中,Oracle 数据库为 任何包含 B 列的选择列表表达式。
http://docs.oracle.com/cd/B19306_01/server.102/b14200/queries006.htm
【讨论】:
以上是关于查询末尾的 (+) 是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章