SQL en het gebruik van JOIN header image

SQL en het gebruik van JOIN

zaterdag 28 maart 2020 ·Leestijd: 3 minuten
contacteer auteur:

Binnen SQL heb je verschillende manieren om tabellen met elkaar te koppelen om zo data uit beide tabellen terug te krijgen in de resultaten. Maar wat houdt elk van deze joins in?

Verschillende typen

Er zijn verschillende typen binnen SQL die je kunt gebruiken. Binnen het combineren van tabellen door middel van een join wordt er vaak gespreken over de linker en de rechter tabel. Dit maakt het makkelijker om uit te leggen wat een join precies doet en zal ook in deze blog terugkomen.
Elk type zal besproken worden en verder uitgelegd met behulp van een voorbeeld.

In het voorbeeld zullen we telkens gebruik maken van de volgende testtabellen:
 

JOIN table

Inner Join

De eerste JOIN die we bespreken is de Inner Join. Stel, we willen weten welke producten er zijn besteld, dan maken we gebruik van de inner join:

SQL inner join voorbeeld

Dit geeft het volgende resultaat:

Je ziet dat alle orders terugkomen met daaraan gekoppeld de bestelde producten. We kunnen hier ook nog zeggen dat we een overzicht terug willen krijg van totale orderprijs per product:

Dit geeft het volgende resultaat:

Hier zijn dezelfde producten gegroepeerd en kunnen we per productgroep zien hoeveel de totale orderwaarde is geweest.

Een inner join geeft alle records terug die in zowel de linker als de rechter tabel voorkomen. Als we een inner join willen visualiseren dan ziet deze er als volgt uit:

Het blauwe gedeelte wordt teruggegeven door de query.

Left Join

Bij een left join worden alle rijen teruggegeven in de linker tabel, ook al deze geen overeenkomend record hebben in de rechter tabel. In ons voorbeeld is de producten tabel de linker tabel en de order tabel de rechter tabel. Laten we zeggen dat we alle producten terug willen hebben in een query en als producten een order hebben willen we ook het order ID hiervan terugkrijgen:

Dit geeft het volgende resultaat:

Je ziet hier alle producten terugkomen ook al zijn er geen orders aan gekoppeld. Hier is orderID dan ook NULL. Als we deze join visualiseren dan ziet dit er als volgt uit:

We kunnen ook zeggen geef alle producten terug die helemaal geen order hebben. Deze query ziet er als volgt uit:

Met als resultaat:

Dit kunnen we als volgt visualiseren:

Right Join

De right join doet het tegenovergestelde van een left join en geeft records terug die in de rechter tabel voorkomen ook al komen deze niet in de linker tabel terug:

Dit geeft als resultaat:

Met als visualisatie:

En ook hier kunnen we weer zeggen dat we de records uit willen sluiten die ook in de linker tabel terugkomen:

In ons voorbeeld geeft dit een leeg resultaat terug, want aan alle orders is een product gekoppeld.

Dit geeft als visualisatie:

Full Join

Als laatste hebben we de full join, alle records uit beide tabellen:

Met als resultaat:

En als visualisatie:

Ook hier kunnen we weer een where statement toevoegen die de rijen uitsluit dit in beide tabellen voorkomen:

Hier krijgen we alleen de prodcuten terig die niet in een order voorkomen:

Met als visualisatie:

 

Lees ook deze blog over joins, waar ook outer en cross join in worden besproken.


Andere blogartikelen

B2B E-commerce… Wakker worden!
Geschreven door
op dinsdag 28 juni 2022
Veel B2B-bedrijven in blijven hangen in; nauwelijks vindbare, verouderde B2B e-commerce websites met minimale conversiemogelijkheden en een betreurenswaardige gebruikerservaring. Zonde!
B2B Leadgeneratie: Alles wat je altijd al wilde weten!
Geschreven door
op maandag 27 juni 2022
B2B online leadgeneratie is het proces van het identificeren van de ideale klanten voor uw product of dienst, en hen vervolgens overhalen tot aankoop. Het is een essentiële activiteit voor B2B sales- en marketingteams.
Wat maakt een B2B webshop succesvol?
Geschreven door
op zondag 26 juni 2022
De opmars van de B2B webshop neemt toe. Regelmatig krijgen wij de vraag of er een groot verschil is tussen een consumentgerichte webshop en een puur B2B gedreven webshop. In deze blog leggen wij u uit hoe een B2B webshop succesvol kan zijn en worden.
Open Nieuwsbrief Inschrijving Footer

E-book

Zo wordt uw website een lead generator 
In 3 stappen uw website van visitekaartje naar salesfunnel

Download het E-book â€º