Zusammenfassung: In diesem Tutorium lernen Sie, wie Sie den RIGHT OUTER JOIN in Oracle verwenden, um zwei oder mehr Tabellen zu verbinden.

Übersicht über RIGHT OUTER JOIN in Oracle

Angenommen, wir haben zwei Tabellen T1 und T2. Die folgende Anweisung zeigt, wie man diese beiden Tabellen mithilfe der RIGHT OUTER JOIN-Klausel in Oracle verbindet:

In dieser Anweisung sind T1 und T2 die linke bzw. rechte Tabelle.

Das Schlüsselwort OUTER ist optional, daher sind RIGHT OUTER JOIN und RIGHT JOIN identisch.

So funktioniert RIGHT OUTER JOIN.

Jede Zeile aus der T1Tabelle wird mit Zeilen aus der T2Tabelle verglichen:

  • Wenn ein Paar von Zeilen das Verknüpfungsprädikat erfüllt, werden die Spaltenwerte beider Zeilen zu einer Ergebniszeile kombiniert, die dann in die Ergebnismenge aufgenommen wird.
  • Falls eine Zeile in der Tabelle T2 mit keiner Zeile in der Tabelle T1 übereinstimmt, werden die Spaltenwerte der Zeile der Tabelle T2 mit einem NULL-Wert für jede Spalte der Zeile aus der Tabelle T1 kombiniert, um die Ergebniszeile zu bilden, die dann ebenfalls in die Ergebnismenge aufgenommen wird.

Mit anderen Worten, ein Right Outer Join gibt alle Zeilen aus der rechten Tabelle und auch die passenden Zeilen aus der linken Tabelle zurück.

Oracle RIGHT OUTER JOIN Beispiele

Wir werden die orders und employees Tabellen in der Beispieldatenbank für die Demonstration verwenden:

In diesem Diagramm ist ein Verkäufer für einen oder mehrere Kundenaufträge zuständig. Es kann jedoch sein, dass einige Kundenaufträge keinem Verkäufer zugeordnet sind.

Das folgende Beispiel ruft alle Verkäufer und ihre Kundenaufträge ab, falls vorhanden:

Das Ergebnis enthält alle Mitarbeiter mit der Berufsbezeichnung Sales Representative und ihre Aufträge.

Wenn ein Verkäufer für keinen Kundenauftrag zuständig ist, wie z.B. Alice Wells, Charlotte Webb, werden die Spalten order_id und status mit NULL-Werten gefüllt.

Oracle RIGHT OUTER JOIN mit USING-Klausel

Ähnlich wie bei anderen Joins, wie z.B. INNER JOIN, LEFT JOIN, können Sie die USING-Klausel verwenden, um anzugeben, welche Spalte beim Verbinden von Tabellen auf Gleichheit getestet werden soll.

Im Folgenden wird die Syntax der RIGHT OUTER JOIN mit der USING-Klausel veranschaulicht:

In dieser Abfrage müssen die in der USING-Klausel aufgeführten Spalten in den beiden Tabellen T1 und T2 vorhanden sein.

Die folgende Anweisung ist äquivalent zu der obigen:

Die folgende Anweisung demonstriert die Verwendung von RIGHT OUTER JOIN mit der USING-Klausel:

In diesem Beispiel werden alle Kunden in die Ergebnismenge aufgenommen. Wenn ein Kunde keinen Kundenauftrag hat, werden die Spalten order_id und status mit NULL-Werten gefüllt.

Oracle RIGHT JOIN: Bedingung in ON vs. WHERE-Klausel

Die folgende Anweisung ruft die Mitarbeiter- und Auftragsdaten des Verkäufers mit der ID 57 ab.

Die folgende Anweisung platziert die Bedingung in der WHERE-Klausel statt in der ON-Klausel:

Die Abfrage liefert alle Mitarbeiter, aber nur die Mitarbeiter-ID 57 hat die zugehörigen Auftragsdaten.

Ein Hinweis, dass in Bezug auf die INNER JOIN, die Bedingung in der ON-Klausel platziert ist, hat die gleiche Wirkung wie in der WHERE-Klausel.

In diesem Tutorial haben Sie gelernt, wie man die RIGHT OUTER JOIN in Oracle verwendet, um Daten aus mehreren Tabellen abzufragen.

  • War dieses Tutorial hilfreich?
  • JaNein

admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

lg