符号(+)在WHERE语句的末尾是什么意思?

时间:2013-07-03 23:18:12

标签: sql oracle

符号(+)在WHERE语句末尾的含义是什么?我在声明的最后从未见过它,这让我感到很困惑。有没有人有想法?

示例:Where(table1.number = table2.number (+))

1 个答案:

答案 0 :(得分:3)

它可以用于连接,但不推荐使用:

  

Afaik,+符号仅用于向后兼容,因为Oracle在加入ANSI标准之前就推出了它。它是特定于Oracle的,当有相同的符合标准的版本时,你应该避免在新代码中使用它。

编辑:两者之间似乎存在差异,+符号具有ANSI连接语法所没有的限制。 Oracle自己建议您不要使用+表示法。

从这里开始:Difference between Oracle's plus (+) notation and ansi JOIN notation?

  

在Oracle中,(+)表示JOIN中的“可选”表。

从这里开始:Left Outer Join using + sign in Oracle 11g