SQL查询中(+)的含义

Zab*_*ala 24 sql oracle

我在Oracle中遇到了一些包含'(+)'的SQL查询,我不知道这意味着什么.有人可以解释其目的或提供一些使用它的例子吗?谢谢

Qua*_*noi 42

这是甲骨文的同义词OUTER JOIN.

SELECT *
FROM a, b
WHERE b.id(+) = a.id
Run Code Online (Sandbox Code Playgroud)

给出相同的结果

SELECT *
FROM a
     LEFT OUTER JOIN b
     ON b.id = a.id
Run Code Online (Sandbox Code Playgroud)

  • 为此,我将把(+)解释为oracle的方式:“当找不到匹配项时,此面将为null”。将我的规范用于等价于[[a.id = b.id]`];然后发生一面镜子。如果我重新编写查询以遵循现代标准,则[[a.id = b.id(+)]`变为左外,而[[a.id(+)= b.id]]变为a。正确的外表。 (2认同)