PostgreSQL Verbindungstypen: Inner, Outer, Left, Right
⚡ Intelligente Zusammenfassung
PostgreSQL Joins rufen Zeilen aus zwei oder mehr Tabellen mithilfe eines gemeinsamen Schlüssels ab und kombinieren diese. Dazu gehören innere Joins wie Theta, EQUI und Natural sowie äußere Joins, die linke, rechte und vollständige Ergebnisse abdecken.

Was sind Joins? PostgreSQL?
PostgreSQL Joins Joins dienen dem Abrufen von Daten aus mehreren Tabellen. Mit Joins lassen sich SELECT- und JOIN-Anweisungen in einer einzigen Anweisung kombinieren. Der Anweisung wird eine JOIN-Bedingung hinzugefügt, und alle Zeilen, die diese Bedingung erfüllen, werden zurückgegeben. Die Werte aus verschiedenen Tabellen werden anhand gemeinsamer Spalten zusammengeführt. Diese gemeinsame Spalte ist meist ein Primärschlüssel der ersten Tabelle und ein Fremdschlüssel der zweiten Tabelle.
PostgreSQL Join-Typen
Es gibt zwei Arten von Joins PostgreSQL:
- Innere Verbindungen
- Äußere Verbindungen
PostgreSQL Innerer Beitritt
Es gibt drei Arten von Inner Joins PostgreSQL:
- Theta macht mit
- Natürliche Verbindung
- EQUI beitreten
Theta Join
Mit einem Theta-Join können zwei Tabellen basierend auf der durch Theta dargestellten Bedingung verknüpft werden. Theta-Joins können mit allen Vergleichsoperatoren verwendet werden. In den meisten Fällen wird der Theta-Join als innerer Join bezeichnet.
Der Theta-Join ist die einfachste Art von JOIN. Es werden alle Zeilen aus den Tabellen zurückgegeben, in denen die JOIN-Bedingung erfüllt ist.
Syntax:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Betrachten Sie die folgenden Tabellen der Demo-Datenbank:
Buch:
Preis:
Wir möchten den Namen jedes Buchs und den entsprechenden Preis sehen. Wir können den folgenden Befehl ausführen:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Dies gibt Folgendes zurück:
Nur 3 Zeilen erfüllten die Join-Bedingung.
EQUI beitreten
Der EQUI-Join bietet uns eine Möglichkeit, zwei Tabellen basierend auf der Primärschlüssel-/Fremdschlüsselbeziehung zu verbinden. Zum Beispiel:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Dies gibt Folgendes zurück:
Von beiden Tabellen wurden Datensätze basierend auf den gemeinsamen Spalten, d. h. der ID-Spalte, zurückgegeben.
Natürliche Verbindung
Diese Art von Join bietet uns eine weitere Möglichkeit, einen EQUI-Join zu schreiben. Wir können unser vorheriges Beispiel verbessern, indem wir das Schlüsselwort NATURAL hinzufügen, wie unten gezeigt:
SELECT * FROM Book NATURAL JOIN Price;
Dies gibt Folgendes zurück:
Es wurde nur eine ID-Spalte zurückgegeben. Der NATURAL JOIN konnte feststellen, dass die ID-Spalte in beiden Tabellen gemeinsam ist. Nur einer wurde zurückgegeben.
PostgreSQL Äußere Verbindung
Es gibt drei Arten von Outer Joins PostgreSQL:
- Linke äußere Verbindung
- Rechte äußere Verknüpfung
- Vollständige äußere Verbindung
PostgreSQL Linke äußere Verbindung
Der LEFT OUTER JOIN gibt alle Zeilen in der Tabelle auf der linken Seite und nur die Zeilen in der Tabelle auf der rechten Seite zurück, in denen die Join-Bedingung erfüllt wurde.
Syntax:
SELECT columns FROM table-1 LEFT OUTER JOIN table-2 ON table-1.column = table-2.column;
Wir müssen den Namen jedes Buches und den entsprechenden Preis sehen. Wir können den folgenden Befehl ausführen:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Dies gibt Folgendes zurück:
Alle 4 Zeilen in der Book-Tabelle wurden zurückgegeben. Nur 3 Zeilen aus der Preistabelle erfüllten die Join-Bedingung. Daher wurden sie zurückgegeben. Das letzte Buch hat keinen entsprechenden Preiswert.
PostgreSQL Rechte äußere Verknüpfung
Der RIGHT OUTER JOIN gibt alle Zeilen in der Tabelle auf der rechten Seite und Zeilen in der Tabelle auf der linken Seite zurück, in denen die Join-Bedingung erfüllt wurde.
Syntax:
SELECT columns FROM table-1 RIGHT OUTER JOIN table-2 ON table-1.column = table-2.column;
Beispielsweise:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Dies gibt Folgendes zurück:
Alle Zeilen der Tabelle „Preis“ wurden zurückgegeben. Nur die Zeilen der Tabelle „Buch“, die die Verknüpfungsbedingung erfüllten, wurden zurückgegeben. Die dritte Zeile enthält keinen Wert für „Name“, da keine Übereinstimmung gefunden wurde.
Vollständiges äußeres Mitmachen PostgreSQL
Dieser JOIN-Typ gibt alle Zeilen in der Tabelle auf der linken Seite und alle Zeilen in der Tabelle auf der rechten Seite mit Nullen zurück, wenn die Join-Bedingung nicht erfüllt ist.
Syntax:
SELECT columns FROM table-1 FULL OUTER JOIN table-2 ON table-1.column = table-2.column;
Beispielsweise:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Dies gibt Folgendes zurück:
Alle Zeilen aus allen Tabellen wurden zurückgegeben, mit Nullen, wenn keine Übereinstimmung gefunden wurde.
Verwenden von pgAdmin
Die oben genannten Aufgaben lassen sich in pgAdmin wie folgt erledigen. In den folgenden Abschnitten wird jeder Join-Typ Schritt für Schritt erläutert.
pgAdmin Inner Join
Die folgenden Schritte zeigen, wie die einzelnen Inner Join-Varianten in pgAdmin ausgeführt werden.
So verwenden Sie Theta. Machen Sie mit PostgreSQL mit pgAdmin
Nachfolgend sind die Schritte zur Verwendung von Theta Join aufgeführt. PostgreSQL mit pgAdmin:
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an
Öffnen Sie pgAdmin und melden Sie sich mit Ihren Anmeldeinformationen an
Schritt 2) Demodatenbank erstellen
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage ein
Geben Sie die folgende Abfrage in den Abfrageeditor ein:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Schritt 4) Führen Sie die Abfrage aus
Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
EQUI beitreten
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
Natürliche Verbindung
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT * FROM Book NATURAL JOIN Price;
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
pgAdmin Einfacher innerer Join
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
pgAdmin Outer Join
Führen Sie anschließend die drei Varianten des Outer Joins in pgAdmin anhand der folgenden Schritte aus.
Linke äußere Verbindung
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
Rechte äußere Verknüpfung
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
Vollständige äußere Verbindung
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Es sollte Folgendes zurückgeben:
Laden Sie die in diesem Tutorial verwendete Datenbank herunter





























