SQL Joins Flashcards

1
Q

INNER JOIN

A

Retourneert alleen rijen waar er een match is tussen de tabellen op basis van de JOIN conditie. Rijen zonder match worden weggelaten.

SELECT k.naam, b.datum, b.bedrag
FROM klanten k
INNER JOIN bestellingen b ON k.id = b.klant_id;

Dit toont alleen klanten die bestellingen hebben geplaatst, met de bijbehorende bestelgegevens.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

LEFT (OUTER) JOIN

A

Retourneert alle rijen uit de linker tabel en de matchende rijen uit de rechter tabel. Als er geen match is, worden NULL-waarden getoond voor de kolommen van de rechter tabel.

SELECT k.naam, b.datum, b.bedrag
FROM klanten k
LEFT JOIN bestellingen b ON k.id = b.klant_id;

Dit toont alle klanten, ook degenen zonder bestellingen (voor hen worden NULL-waarden getoond voor datum en bedrag).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

RIGHT (OUTER) JOIN

A

Retourneert alle rijen uit de rechter tabel en de matchende rijen uit de linker tabel. Als er geen match is, worden NULL-waarden getoond voor de kolommen van de linker tabel.

SELECT k.naam, b.datum, b.bedrag
FROM klanten k
RIGHT JOIN bestellingen b ON k.id = b.klant_id;

Dit toont alle bestellingen, inclusief bestellingen die mogelijk niet aan een klant zijn gekoppeld.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

FULL (OUTER) JOIN

A

Retourneert alle rijen uit beide tabellen. Waar er geen match is, worden NULL-waarden getoond voor de kolommen van de niet-matchende tabel.

SELECT k.naam, b.datum, b.bedrag
FROM klanten k
FULL JOIN bestellingen b ON k.id = b.klant_id;

Dit toont alle klanten en alle bestellingen, inclusief klanten zonder bestellingen en bestellingen zonder gekoppelde klant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

CROSS JOIN

A

Produceert een cartesisch product van beide tabellen, waarbij elke rij uit de eerste tabel wordt gecombineerd met elke rij uit de tweede tabel. Er is geen JOIN conditie nodig.

SELECT k.naam, p.naam
FROM klanten k
CROSS JOIN producten p;

Dit combineert elke klant met elk product, wat nuttig kan zijn voor bijvoorbeeld een prijslijst voor verschillende klantsegmenten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

SELF JOIN

A

Een join waarbij een tabel met zichzelf wordt verbonden. Hiervoor moeten aliassen worden gebruikt om onderscheid te maken tussen de twee instanties van dezelfde tabel.

SELECT m1.naam AS medewerker, m2.naam AS manager
FROM medewerkers m1
JOIN medewerkers m2 ON m1.manager_id = m2.id;

Dit relateert medewerkers aan hun managers binnen dezelfde medewerkers-tabel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly