我正在使用Oracle SQL Developer来查询Oracle数据库(不确定它是哪个版本),我将使用我为SQL生成的SQL报告.以前开发人员编写的许多报告都没有使用JOIN关键字来建立连接(因此我不太熟悉JOIN关键字).
他们创建的许多连接都是在WHERE语句中创建的.我会注意到这样的事情.
Select * From TableA, TableB WHERE TableA.PrimaryKey(+) = TableB.ForeignKey
Run Code Online (Sandbox Code Playgroud)
我的问题是关于(+).它的用途是什么,我如何在我的代码中使用它?
这代表一个"右外连接"(因为=它位于右侧+).
SELECT *
FROM TableA, TableB
WHERE TableA.PrimaryKey(+) = TableB.ForeignKey
Run Code Online (Sandbox Code Playgroud)
相当于
SELECT *
FROM TableA
RIGHT OUTER JOIN TableB
ON (TableA.PrimaryKey = TableB.ForeignKey)
Run Code Online (Sandbox Code Playgroud)