PostgreSQL Verbindingstypen: Binnen, Buiten, Links, Rechts
โก Slimme samenvatting
PostgreSQL Joins halen rijen uit twee of meer tabellen op en combineren deze met behulp van een gedeelde sleutel. Dit omvat inner joins zoals theta, EQUI en natural, evenals outer joins die links-, rechts- en volledige resultaten opleveren.

Wat zijn joins PostgreSQL?
PostgreSQL Sluit zich aan bij Joins worden gebruikt om gegevens uit meerdere tabellen op te halen. Met joins kunnen we de SELECT- en JOIN-instructies combineren tot รฉรฉn enkele instructie. Er wordt een JOIN-voorwaarde aan de instructie toegevoegd en alle rijen die aan de voorwaarden voldoen, worden geretourneerd. De waarden uit verschillende tabellen worden gecombineerd op basis van gemeenschappelijke kolommen. De gemeenschappelijke kolom is meestal een primaire sleutel in de eerste tabel en een externe sleutel in de tweede tabel.
PostgreSQL Sluit je aan bij typen
Er zijn twee soorten joins PostgreSQL:
- Innerlijke sluit zich aan
- buitenste joins
PostgreSQL Innerlijke verbinding
Er zijn 3 soorten Inner Joins PostgreSQL:
- Theta sluit zich aan
- Natuurlijk meedoen
- EQUI sluit zich aan
Theta Doe mee
Met een theta join kunt u twee tabellen joinen op basis van de voorwaarde die door theta wordt gerepresenteerd. Theta joins kunnen met alle vergelijkingsoperatoren werken. In de meeste gevallen wordt de theta join inner join genoemd.
De theta join is het meest basale type JOIN. Het retourneert alle rijen uit de tabellen waarin aan de JOIN-voorwaarde is voldaan.
Syntax:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Bekijk de volgende tabellen van de demodatabase:
Boek:
Prijs:
We willen de naam van elk boek en de bijbehorende prijs zien. We kunnen de volgende opdracht uitvoeren:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Dit retourneert het volgende:
Slechts 3 rijen voldeden aan de voorwaarde voor samenvoegen.
EQUI Doe mee
De EQUI-join biedt ons een manier om twee tabellen samen te voegen op basis van de relatie tussen primaire sleutel en buitenlandse sleutel. Bijvoorbeeld:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Dit retourneert het volgende:
Er zijn records uit beide tabellen geretourneerd op basis van de gemeenschappelijke kolommen, dat wil zeggen de id-kolom.
Natuurlijk toetreden
Dit type join biedt ons een andere manier om een โโEQUI-join te schrijven. We kunnen ons vorige voorbeeld verbeteren door het trefwoord NATURAL toe te voegen, zoals hieronder weergegeven:
SELECT * FROM Book NATURAL JOIN Price;
Dit retourneert het volgende:
Er is slechts รฉรฉn ID-kolom geretourneerd. De NATURAL JOIN kon opmerken dat de id-kolom gebruikelijk is in de twee tabellen. Er werd er slechts รฉรฉn teruggestuurd.
PostgreSQL buitenste join
Er zijn 3 soorten Outer Joins PostgreSQL:
- Linker Outer Join
- Rechts buitenste verbinding
- Volledige Outer Join
PostgreSQL Linker Outer Join
De LEFT OUTER JOIN retourneert alle rijen in de tabel aan de linkerkant en alleen de rijen in de rechterzijtabel waar aan de join-voorwaarde is voldaan.
Syntax:
SELECT columns FROM table-1 LEFT OUTER JOIN table-2 ON table-1.column = table-2.column;
We moeten de naam van elk boek en de bijbehorende prijs zien. We kunnen de volgende opdracht uitvoeren:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Dit geeft het volgende terug:
Alle 4 rijen in de Boekentabel zijn teruggegeven. Slechts 3 rijen uit de prijstabel voldeden aan de voorwaarde voor deelname. Daarom werden ze teruggestuurd. Het laatste boek heeft geen overeenkomstige prijswaarde.
PostgreSQL Rechts buitenste verbinding
De RIGHT OUTER JOIN retourneert alle rijen in de tabel aan de rechterkant en rijen in de tabel aan de linkerkant waar aan de join-voorwaarde is voldaan.
Syntax:
SELECT columns FROM table-1 RIGHT OUTER JOIN table-2 ON table-1.column = table-2.column;
Bijvoorbeeld:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Dit geeft het volgende terug:
Alle rijen in de tabel 'Prijs' zijn geretourneerd. Alleen de rijen in de tabel 'Boek' die aan de koppelingsvoorwaarde voldeden, zijn geretourneerd. De derde rij heeft geen waarde voor 'naam' omdat er geen overeenkomst is gevonden.
Volledige buitenste deelname PostgreSQL
Dit type JOIN retourneert alle rijen in de tabel aan de linkerkant en alle rijen in de tabel aan de rechterkant met nullen waar niet aan de join-voorwaarde is voldaan.
Syntax:
SELECT columns FROM table-1 FULL OUTER JOIN table-2 ON table-1.column = table-2.column;
Bijvoorbeeld:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Dit geeft het volgende terug:
Alle rijen uit alle tabellen zijn geretourneerd, met nullen waar geen overeenkomst is gevonden.
Gebruik pgAdmin
De bovenstaande taken kunnen als volgt in pgAdmin worden uitgevoerd. In de volgende secties wordt elk type join stap voor stap beschreven.
pgAdmin innerlijke join
De onderstaande stappen laten zien hoe je elke variant van een inner join in pgAdmin kunt uitvoeren.
Hoe Theta te gebruiken Doe mee PostgreSQL met behulp van pgAdmin
Hieronder volgen de stappen om Theta Join te gebruiken. PostgreSQL met behulp van pgAdmin:
Stap 1) Log in op uw pgAdmin-account
Open pgAdmin en log in met uw inloggegevens
Stap 2) Maak een demodatabase
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de zoekopdracht
Typ de onderstaande query in de query-editor:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Stap 4) Voer de query uit
Klik op de knop Uitvoeren
Het volgende zou moeten worden geretourneerd:
EQUI Doe mee
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
Natuurlijk toetreden
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
SELECT * FROM Book NATURAL JOIN Price;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
pgAdmin Eenvoudige innerlijke join
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
pgAdmin Outer Join
Voer vervolgens de drie outer join-varianten uit in pgAdmin met behulp van de onderstaande stappen.
Linker Outer Join
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
Rechts buitenste verbinding
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
Volledige Outer Join
Stap 1) Log in op uw pgAdmin-account.
Stap 2)
- Klik in de navigatiebalk aan de linkerkant op Databases.
- Klik op Demo.
Stap 3) Typ de query in de query-editor:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Stap 4) Klik op de knop Uitvoeren.
Het volgende zou moeten worden geretourneerd:
Download de database die in deze zelfstudie wordt gebruikt





























