查询末尾的 (+) 是啥? [复制]

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

【讨论】:

以上是关于查询末尾的 (+) 是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在 CSS 颜色的末尾添加 \9 是啥意思? [复制]

“BOM”字符在文件开头或文件末尾的位置是啥? [复制]

setup.py 的目的是啥? [复制]

花括号 在 SQL 查询中的作用是啥? [复制]

CSS媒体查询中的“唯一屏幕”代码是啥意思? [复制]

Bash:2>&1 是啥意思? [复制]