samenvatting: in deze tutorial leert u hoe u de PostgreSQL LEFT JOIN
clausule gebruikt om gegevens uit meerdere tabellen te selecteren.
Inleiding tot PostgreSQL Left JOIN clausule
stel dat u twee tabellen hebt: A
en B
.,
Elke rij in de tabel A
kan nul of veel corresponderende rijen in de tabel B
tijdens elke rij in de tabel B
heeft één en slechts één overeenkomstige rij in de tabel A
.
om gegevens uit de tabel te selecteren A
die al dan niet overeenkomstige rijen in de tabel kunnen hebben B
, gebruikt u de LEFT JOIN
clausule.,
De volgende uitspraak illustreert de LEFT JOIN
syntaxis van joins in de tabel A
met de tabel B
:
Code language: SQL (Structured Query Language) (sql)
Om lid van de tabel A
met de tabel B
tabel met een left join, volgt u deze stappen:
- Eerste, geef de kolommen in beide tabellen die u wilt gebruiken om gegevens te selecteren in de
SELECT
component. - tweede, specificeer de linker Tabel (Tabel
A
) in deFROM
clausule., - ten derde, specificeer de juiste tabel (tabel
B
) in deLEFT JOIN
clausule en de verbindingsvoorwaarde na hetON
sleutelwoord.
deLEFT JOIN
clausule begint met het selecteren van gegevens uit de linker tabel. Voor elke rij in de linker tabel wordt de waarde in de kolom pka
vergeleken met de waarde van elke rij in de kolom fka
in de rechter tabel.,
als deze waarden gelijk zijn, maakt de linker join-clausule een nieuwe rij die kolommen bevat die voorkomen in de SELECT
– clausule en voegt deze rij toe aan de resultatenreeks.
indien deze waarden niet gelijk zijn, maakt de linker join-clausule ook een nieuwe rij aan die kolommen bevat die voorkomen in de SELECT
– clausule. Daarnaast vult het de kolommen die uit de juiste tabel komen met NULL.,
het volgende Venn-diagram illustreert hoe de LEFT JOIN
werkt:
merk op dat de LEFT JOIN
<
wordt ook aangeduid alsLEFT OUTER JOIN
.
PostgreSQL Left JOIN examples
laten we eens kijken naar de volgende film
en inventory
tabellen uit de voorbeelddatabase.,
elke rij in de film
tabel kan nul of vele rijen hebben in de inventory
tabel. Elke rij in de tabel inventory
heeft één en slechts één rij in de tabel film
.
de kolom film_id
legt het verband tussen de tabellen film
en inventory
.,
De volgende instructie wordt het LEFT JOIN
component join film
tabel met de inventory
tabel:
Als er een rij van de film
tabel geen overeenkomstige rij in de inventory
tabel, de waarde van de inventory_id
kolom van deze rij is NULL
.,
het volgende statement voegt eenWHERE
clausule toe om de films te vinden die niet in de inventaris staan:
het volgende statement geeft hetzelfde resultaat., Het verschil is dat het de tabelaliassen gebruikt om de query beknopter te maken:
als beide tabellen dezelfde kolomnaam hebben die wordt gebruikt in de ON
=”11987f0d95″>
syntaxis als volgt:
deze techniek is handig wanneer u rijen uit een tabel wilt selecteren die geen overeenkomende rijen in een andere tabel hebben.