Zephyrnet-logo

Een uitgebreide gids voor SQL JOIN's: Inner, Outer, Full, Left en Right Explained

Datum:

Structured Query Language (SQL) is een krachtig hulpmiddel voor het beheren en manipuleren van gegevens in relationele databases. Een van de belangrijkste kenmerken van SQL is de mogelijkheid om tabellen samen te voegen om complexere query's te maken. In dit artikel onderzoeken we de verschillende typen SQL-joins en hoe deze kunnen worden gebruikt om gegevens uit meerdere tabellen te combineren.

Innerlijke verbinding

De inner join is het meest gebruikte type join in SQL. Er worden alleen de rijen geretourneerd die overeenkomende waarden hebben in beide tabellen die worden samengevoegd. Als we bijvoorbeeld twee tabellen hebben, één met klantinformatie en een andere met bestelinformatie, kunnen we een inner join gebruiken om de twee tabellen te combineren en een lijst te krijgen van alle klanten die een bestelling hebben geplaatst.

SELECT klanten.naam, bestellingen.bestellingsdatum

VAN klanten

INNER JOIN-bestellingen

AAN klanten.id = bestellingen.klant_id;

In dit voorbeeld selecteren we de naam van de klant en de besteldatum uit de twee tabellen. De INNER JOIN-clausule geeft aan dat we de twee tabellen in de klant-ID-kolom in de klantentabel en de klant-ID-kolom in de bestellingentabel willen samenvoegen.

buitenste join

Een outside join retourneert alle rijen uit de ene tabel en overeenkomende rijen uit een andere tabel. Als er geen overeenkomende rijen in de tweede tabel staan, bevat het resultaat null-waarden voor die kolommen. Er zijn twee soorten outside joins: de linker-outer-join en de rechter-outer-join.

Linker Outer Join

Een left outside join retourneert alle rijen uit de linkertabel en overeenkomende rijen uit de rechtertabel. Als er geen overeenkomende rijen in de rechtertabel staan, bevat het resultaat null-waarden voor die kolommen. Als we bijvoorbeeld een tabel met klanten en een tabel met bestellingen hebben, kunnen we een left outside join gebruiken om een ​​lijst te krijgen van alle klanten en hun bestellingen, zelfs als ze nog geen bestelling hebben geplaatst.

SELECT klanten.naam, bestellingen.bestellingsdatum

VAN klanten

LINKS BUITEN JOIN-bestellingen

AAN klanten.id = bestellingen.klant_id;

In dit voorbeeld selecteren we de naam van de klant en de besteldatum uit de twee tabellen. De LEFT OUTER JOIN-clausule geeft aan dat we de twee tabellen in de klant-ID-kolom in de klantentabel en de klant-ID-kolom in de ordertabel willen samenvoegen.

Rechts buitenste verbinding

Een rechter buitenste join retourneert alle rijen uit de rechtertabel en overeenkomende rijen uit de linkertabel. Als er geen overeenkomende rijen in de linkertabel staan, bevat het resultaat null-waarden voor die kolommen. Als we bijvoorbeeld een tabel met bestellingen en een tabel met klanten hebben, kunnen we een right outside join gebruiken om een ​​lijst op te halen van alle bestellingen en de bijbehorende klanten, zelfs als de klantinformatie ontbreekt.

SELECT klanten.naam, bestellingen.bestellingsdatum

VAN klanten

RECHTS BUITEN JOIN-bestellingen

AAN klanten.id = bestellingen.klant_id;

In dit voorbeeld selecteren we de naam van de klant en de besteldatum uit de twee tabellen. De RIGHT OUTER JOIN-clausule geeft aan dat we de twee tabellen in de klant-ID-kolom in de klantentabel en de klant-ID-kolom in de bestellingentabel willen samenvoegen.

Volledige Outer Join

Een volledige outside join retourneert alle rijen uit beide tabellen en overeenkomende rijen uit beide tabellen. Als er geen overeenkomende rijen in een van de tabellen voorkomen, bevat het resultaat null-waarden voor die kolommen. Als we bijvoorbeeld een tabel met klanten en een tabel met bestellingen hebben, kunnen we een volledige outside join gebruiken om een ​​lijst te krijgen van alle klanten en hun bestellingen, inclusief degenen die nog geen bestelling hebben geplaatst en degenen van wie de bestelinformatie is missend.

SELECT klanten.naam, bestellingen.bestellingsdatum

VAN klanten

VOLLEDIGE OUTER JOIN-bestellingen

AAN klanten.id = bestellingen.klant_id;

In dit voorbeeld selecteren we de naam van de klant en de besteldatum uit de twee tabellen. De FULL OUTER JOIN-clausule geeft aan dat we de twee tabellen in de klant-ID-kolom in de klantentabel en de klant-ID-kolom in de bestellingentabel willen samenvoegen.

Conclusie

SQL-joins zijn een krachtig hulpmiddel voor het combineren van gegevens uit meerdere tabellen. De inner join is het meest gebruikte type join, maar outside joins kunnen handig zijn als u alle rijen uit de ene tabel wilt opnemen, zelfs als er geen overeenkomende rijen in de andere tabel staan. Als u de verschillende typen SQL-joins begrijpt en weet hoe ze werken, kunt u complexere query's schrijven en de gegevens die u nodig heeft uit uw databases halen.

spot_img

Laatste intelligentie

spot_img

Chat met ons

Hallo daar! Hoe kan ik u helpen?