(+)在Oracle SQL中做了什么?

时间:2009-09-03 23:13:35

标签: sql oracle join

我正在使用Oracle SQL Developer查询Oracle数据库(不确定它是哪个版本),我将使用我为SQL生成的SQL报告。以前开发人员编写的许多报告都没有使用JOIN关键字来建立连接(因此我不太熟悉JOIN关键字)。

他们创建的许多连接都是在WHERE语句中创建的。我会注意到这样的事情。

Select * From TableA, TableB WHERE TableA.PrimaryKey(+) = TableB.ForeignKey

我的问题是关于(+)。它的用途是什么,我如何在我的代码中使用它?

4 个答案:

答案 0 :(得分:8)

答案 1 :(得分:8)

代表“右外连接”(正确,因为=位于+的右侧)。

SELECT *
FROM TableA, TableB
WHERE TableA.PrimaryKey(+) = TableB.ForeignKey

相当于

SELECT *
FROM TableA
RIGHT OUTER JOIN TableB
  ON (TableA.PrimaryKey = TableB.ForeignKey)

答案 2 :(得分:3)

右外连接

答案 3 :(得分:0)

(+)用于在Oracle中执行右外连接 RIGHT OUTER JOIN是允许您指定JOIN子句的JOIN操作之一 详情 http://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj57522.html