PostgreSQL LEFT JOIN (Deutsch)

Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie mit der Klausel PostgreSQL LEFT JOIN Daten aus mehreren Tabellen auswählen.

Einführung in die PostgreSQL LEFT JOIN Klausel

Angenommen, Sie haben zwei Tabellen: A und B.,

Jede Zeile in der Tabelle A kann Null oder viele entsprechende Zeilen in der Tabelle haben B während jede Zeile in der Tabelle B hat eine und nur eine entsprechende Zeile in der Tabelle A .

Um Daten aus der Tabelle A auszuwählen , die möglicherweise entsprechende Zeilen in der Tabelle enthalten B, verwenden Sie die Klausel LEFT JOIN.,

Die folgende Anweisung veranschaulicht die LEFT JOIN Syntax, die die Tabelle verbindet A mit der Tabelle B :

Code language: SQL (Structured Query Language) (sql)

Um der Tabelle beizutreten A mit der Tabelle B Tabelle Mit einem linken Join führen Sie folgende Schritte aus:

  • Geben Sie zunächst die Spalten in beiden Tabellen an, aus denen Sie Daten in der Klausel SELECT auswählen möchten.
  • Geben Sie zweitens die linke Tabelle (table A) in der Klausel FROM an.,
  • Geben Sie drittens die richtige Tabelle (table B) in der LEFT JOIN – Klausel und die Join-Bedingung nach dem Schlüsselwort ON an.

DieLEFT JOIN – Klausel beginnt mit der Auswahl von Daten aus der linken Tabelle. Für jede Zeile in der linken Tabelle wird der Wert in der Spalte pka mit dem Wert jeder Zeile in der Spalte fka in der rechten Tabelle verglichen.,

Wenn diese Werte gleich sind, erstellt die linke Join-Klausel eine neue Zeile, die Spalten enthält, die in der SELECT – Klausel angezeigt werden, und fügt diese Zeile der Ergebnismenge hinzu.

Falls diese Werte nicht gleich sind, erstellt die left join-Klausel auch eine neue Zeile, die Spalten enthält, die in der SELECT – Klausel angezeigt werden. Außerdem werden die Spalten, die aus der rechten Tabelle stammen, mit NULL gefüllt.,

Das folgende Venn-Diagramm veranschaulicht, wie die LEFT JOIN – Klausel funktioniert:

Beachten Sie, dass die LEFT JOIN auch als LEFT OUTER JOIN.

PostgreSQL LEFT JOIN examples

Schauen wir uns die folgendenfilm undinventory Tabellen aus der Beispieldatenbank an.,

Jede Zeile in der film Tabelle kann null oder viele Zeilen in der inventoryTabelle. Jede Zeile in der Tabelle inventory hat eine und nur eine Zeile in der Tabelle film.

Die Spalte film_id stellt die Verbindung zwischen den Tabellen film und inventory her.,

Die folgende Anweisung verwendet die LEFT JOIN Klausel, um film Tabelle mit der inventoryTabelle:

Wenn eine Zeile aus der Tabelle film in der Tabelle inventorykeine übereinstimmende Zeile enthält, lautet der Wert der Spalte inventory_id dieser Zeile NULL.,

Die folgende Anweisung fügt eine WHERE – Klausel hinzu, um die Filme zu finden, die nicht im Inventar enthalten sind:

Die folgende Anweisung gibt das gleiche Ergebnis zurück., Der Unterschied besteht darin, dass die Tabellenaliase verwendet werden, um die Abfrage prägnanter zu gestalten:

Wenn beide Tabellen denselben Spaltennamen haben, der in der ON Klausel verwendet wird, können Sie die USING div> Syntax wie folgt:

Diese Technik ist nützlich, wenn Sie Zeilen aus einer Tabelle auswählen möchten, die keine übereinstimmenden Zeilen in einer anderen Tabelle enthalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Zur Werkzeugleiste springen