我有一个SQL查询类似于: -
Select Table1.attr1, Table1.attr2, Table2.attr3, Table2.attr4
From Tab1 Tabel1, Tab2 Tabel2
Where Tabel1.Attr = Tabel2.Attr (+)
Run Code Online (Sandbox Code Playgroud)
那么上面是什么意思呢?这是一个正确的外部联接吗?
Жас*_*ков 14
是的,这意味着正确加入.如果语句类似......其中Tabel1.Attr(+)= Tabel2.Attr,则必须保持连接.
我认为这是一个左外连接(尽管当前批准的答案说它是一个右外连接)。来自Oracle 文档:
Using Outer Joins: Examples
SELECT d.department_id, e.last_name
FROM departments d LEFT OUTER JOIN employees e
ON d.department_id = e.department_id
ORDER BY d.department_id;
Users familiar with the traditional Oracle Database outer
joins syntax will recognize the same query in this form:
SELECT d.department_id, e.last_name
FROM departments d, employees e
WHERE d.department_id = e.department_id (+)
ORDER BY d.department_id;
Run Code Online (Sandbox Code Playgroud)
对于 RIGHT OUTER JOIN,您可以在 = 符号之前放置 (+) 符号,例如。
SELECT d.department_id, e.last_name
FROM departments d, employees e
WHERE d.department_id (+) = e.department_id
ORDER BY d.department_id;
Run Code Online (Sandbox Code Playgroud)