Der PostgreSQL LEFT JOIN liefert alle Zeilen der Tabelle auf der linken Seite des Joins und passende Zeilen für die Tabelle auf der rechten Seite des Joins. Die Zeilen, für die es keine passende Zeile auf der rechten Seite gibt, werden in der Ergebnismenge mit Null angegeben. LEFT JOIN ist auch als LEFT OUTER JOIN bekannt.
Syntax:SELECT table1.column1, table1.column2, table2.column1, ....FROM table1 LEFT JOIN table2ON table1.matching_column = table2.matching_column;table1: First table.table2: Second tablematching_column: Column common to both the tables.
Lassen Sie uns die obige Syntax analysieren:
- Erstens geben wir mit der SELECT-Anweisung die Tabellen an, aus denen die Daten ausgewählt werden sollen.
- Zweitens geben wir die Haupttabelle an.
- Drittens geben wir die Tabelle an, mit der die Haupttabelle verbunden ist.
Das folgende Venn-Diagramm veranschaulicht die Funktionsweise der PostgreSQL LEFT JOIN-Klausel:
Für diesen Artikel verwenden wir die Beispieldatenbank des DVD-Verleihs, die hier erklärt wird und über diesen Link in unseren Beispielen heruntergeladen werden kann.
Schauen wir uns nun ein paar Beispiele an.
Beispiel 1:
Hier werden wir die LEFT JOIN-Klausel verwenden, um die Tabelle „Film“ mit der Tabelle „Inventar“ zu verbinden.
SELECT film.film_id, film.title, inventory_idFROM filmLEFT JOIN inventory ON inventory.film_id = film.film_id;
Ausgabe:
Beispiel 2:
Hier werden wir mit der LEFT JOIN-Klausel die Tabelle „Film“ mit der Tabelle „Bestand“ verbinden und mit der WHERE-Klausel die Filme herausfiltern, die sich nicht im Bestand befinden.
SELECT film.film_id, film.title, inventory_idFROM filmLEFT JOIN inventory ON inventory.film_id = film.film_idWHERE inventory.film_id IS NULL;
Ausgabe: