Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Was bedeutet ein (+)-Zeichen in einer Oracle SQL WHERE-Klausel?

Dies ist eine Oracle-spezifische Notation für einen Outer Join. Das bedeutet, dass alle Zeilen von t1 eingeschlossen werden und NULLEN in den t0-Spalten verwendet werden, wenn es keine entsprechende Zeile in t0 gibt.

In Standard-SQL würde man schreiben:

SELECT t0.foo, t1.bar
  FROM FIRST_TABLE t0
 RIGHT OUTER JOIN SECOND_TABLE t1;

Oracle empfiehlt, diese Joins nicht mehr zu verwenden, wenn Ihre Version ANSI-Joins (LEFT/RIGHT JOIN) unterstützt:

Oracle empfiehlt, die OUTER JOIN-Syntax der FROM-Klausel anstelle des Oracle-Join-Operators zu verwenden. Outer-Join-Abfragen, die den Oracle-Join-Operator (+) verwenden, unterliegen den folgenden Regeln und Einschränkungen […]