LEFT JOIN
Syntax
SELECT <kolommen uit A of uit B>
FROM A
LEFT JOIN B
-- hier veronderstellen we dat de vreemde sleutel in B staat
ON A.Id = B.A_Id
-- alternatief met vreemde sleutel in A:
-- ON A.B_Id = B.Id

Als je alle personen wilt tonen ongeacht of ze een boek hebben geschreven of niet kan je een LEFT JOIN
gebruiken. In tegenstelling tot bij INNER JOIN
maakt het een groot verschil of je A LEFT JOIN B
schrijft of B LEFT JOIN A
. Met een LEFT JOIN
worden alle rijen uit de linkse tabel geselecteerd, of er nu een match is of niet op basis van de sleutelkolommen.
Terug naar het voorbeeld, maar dan met LEFT JOIN:
SELECT Personen.Voornaam, Personen.Familienaam,
Boeken.Titel
FROM Personen
LEFT JOIN Boeken ON Boeken.Personen_Id = Personen.Id
ORDER BY Personen.Familienaam, Personen.Voornaam, Boeken.Titel;
Simone is nu wel geselecteerd. Maar er is geen boek van haar aanwezig in de tabel Boeken
, dus staat Titel
op NULL
.

Opmerking:
De LEFT JOIN
wordt ook wel LEFT OUTER JOIN
genoemd. Er is geen verschil.
Last updated
Was this helpful?