Äußere Joins in Oracle WHERE-Klauseln: Der „ “-Operator
In Oracle-Datenbanken kann der „ “-Operator innerhalb einer WHERE-Klausel verwendet werden um einen Outer-Join zwischen zwei Tabellen anzugeben. Äußere Verknüpfungen ermöglichen das Abrufen von Datensätzen, die in beiden Tabellen übereinstimmen, sowie von Datensätzen, die nur in einer der Tabellen vorhanden sind.
Syntax
Die Syntax für die Verwendung von Der Operator „ “ in einer WHERE-Klausel ist wie folgt folgt:
WHERE Table1.Column = Table2.Column(+)
Funktionalität
Wenn der „ “-Operator auf der linken Seite des „=“-Zeichens erscheint, weist dies auf einen LEFT OUTER JOIN hin. Das bedeutet, dass alle Datensätze aus Tabelle1 zurückgegeben werden, unabhängig davon, ob sie übereinstimmende Datensätze in Tabelle2 haben oder nicht. Alle nicht übereinstimmenden Datensätze in Tabelle2 werden mit Nullwerten für die verbundenen Spalten zurückgegeben.
Wenn umgekehrt der Operator „ “ auf der rechten Seite des Zeichens „=“ erscheint, weist dies auf einen RIGHT OUTER JOIN hin. In diesem Fall werden alle Datensätze aus Tabelle2 zurückgegeben, auch wenn sie keine übereinstimmenden Datensätze in Tabelle1 haben. Übereinstimmende Datensätze aus Tabelle 1 werden in die Ergebnisse einbezogen, während nicht übereinstimmende Datensätze Nullwerte haben.
Beispiel
Bedenken Sie die folgende Abfrage:
SELECT Table1.Category1, Table1.Category2, count(*) as Total, count(Tab2.Stat) AS Stat FROM Table1, Table2 WHERE (Table1.PrimaryKey = Table2.ForeignKey(+)) GROUP BY Table1.Category1, Table1.Category2
Diese Abfrage führt einen LEFT OUTER JOIN zwischen Tabelle1 und Tabelle2 basierend auf den Spalten PrimaryKey und ForeignKey durch. Alle Datensätze aus Tabelle1 werden in die Ergebnisse einbezogen, auch wenn es keinen passenden Datensatz in Tabelle2 gibt. Für nicht übereinstimmende Datensätze in Tabelle 2 ist die Spalte „Statistik“ null.
Empfehlung
Während der „ “-Operator zum Erstellen von Outer-Joins in Oracle verwendet werden kann, ist dies im Allgemeinen der Fall gilt als veraltet und nicht so lesbar wie die moderne Join-Syntax. Es wird empfohlen, stattdessen LEFT JOIN oder RIGHT JOIN zu verwenden, da diese eine explizitere und intuitivere Join-Semantik bieten.
Das obige ist der detaillierte Inhalt vonWie erstellen der „ '-Operator und die WHERE-Klausel von Oracle äußere Verknüpfungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!