Welke soorten JOIN ken je en wat is het verschil?
sobes.tech AI
Antwoord van AI
De belangrijkste typen JOIN in SQL en hun verschillen:
-
INNER JOIN — retourneert alleen de records die overeenkomsten hebben in beide tabellen volgens de join-voorwaarde.
-
LEFT JOIN (LEFT OUTER JOIN) — retourneert alle records uit de linker tabel en de overeenkomende uit de rechter. Als er geen overeenkomsten zijn, zullen de velden van de rechter tabel NULL zijn.
-
RIGHT JOIN (RIGHT OUTER JOIN) — retourneert alle records uit de rechter tabel en de overeenkomende uit de linker.
-
FULL JOIN (FULL OUTER JOIN) — retourneert alle records uit beide tabellen, overeenkomend en niet-overeenkomend, met NULL op plaatsen zonder data.
-
CROSS JOIN — cartesiaans product van twee tabellen, retourneert alle mogelijke combinaties van rijen.
Voorbeeld:
-- INNER JOIN
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- LEFT JOIN
SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;
-- RIGHT JOIN
SELECT * FROM A RIGHT JOIN B ON A.id = B.a_id;
-- FULL JOIN
SELECT * FROM A FULL JOIN B ON A.id = B.a_id;
-- CROSS JOIN
SELECT * FROM A CROSS JOIN B;
De keuze van JOIN hangt af van welke gegevens je wilt verkrijgen en hoe je omgaat met ontbrekende overeenkomsten.