Oracle SQL中的(+)做什么?
问题描述:
我正在使用Oracle SQL Developer查询Oracle数据库(不确定它是哪个版本),我将使用我为Crystal报表制作的SQL。许多以前的开发人员编写的报告都没有使用JOIN关键字来进行连接(并且我不太熟悉JOIN关键字)。Oracle SQL中的(+)做什么?
他们所做的许多连接都是在WHERE语句中进行的。我会注意到这样的事情。
Select * From TableA, TableB WHERE TableA.PrimaryKey(+) = TableB.ForeignKey
我的问题是关于(+)。它的用途是什么?我如何在代码中使用它?
答
右外连接
答
这代表着一个“右外连接”(正确的,因为在=
是在+
的右侧)。
SELECT *
FROM TableA, TableB
WHERE TableA.PrimaryKey(+) = TableB.ForeignKey
相当于
SELECT *
FROM TableA
RIGHT OUTER JOIN TableB
ON (TableA.PrimaryKey = TableB.ForeignKey)
答
(+),用于执行右外连接在甲骨文 RIGHT OUTER JOIN是连接操作,允许你指定一个JOIN子句 详细的一个 http://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj57522.html
您发布IST链接** **不为Oracle数据库它是** ** JavaDB之外(又名“德比”) – 2015-03-20 11:08:30
我添加了注释,以得到一个什么样右外连接是明确的想法 – 2015-03-20 11:09:59