Sobes.tech
Junior

Wat zijn de verschillen tussen LEFT JOIN en RIGHT JOIN in SQL?

sobes.tech AI

Antwoord van AI

LEFT JOIN retourneert alle rijen uit de linker (eerste) tabel en de overeenkomstige rijen uit de rechter (tweede) tabel. Als er geen overeenkomsten zijn in de rechtertabel, bevat het resultaat NULL voor de kolommen uit de rechtertabel.

RIGHT JOIN retourneert alle rijen uit de rechter (tweede) tabel en de overeenkomstige rijen uit de linkertabel. Als er geen overeenkomsten zijn in de linkertabel, bevat het resultaat NULL voor de kolommen uit de linkertabel.

Het belangrijkste verschil is welke tabel als "volledig" wordt beschouwd, dat wil zeggen, uit welke tabel alle rijen worden geretourneerd, ongeacht of er overeenkomsten zijn in de andere tabel.

Voorbeeld in SQL:

Tabel TabelA:

ID WaardeA
1 A1
2 A2
3 A3

Tabel TabelB:

ID WaardeB
2 B2
3 B3
4 B4

LEFT JOIN:

SELECT *
FROM TabelA
LEFT JOIN TabelB ON TabelA.ID = TabelB.ID;

Resultaat LEFT JOIN:

ID (van TabelA) WaardeA ID (van TabelB) WaardeB
1 A1 NULL NULL
2 A2 2 B2
3 A3 3 B3

RIGHT JOIN:

SELECT *
FROM TabelA
RIGHT JOIN TabelB ON TabelA.ID = TabelB.ID;

Resultaat RIGHT JOIN:

ID (van TabelA) WaardeA ID (van TabelB) WaardeB
2 A2 2 B2
3 A3 3 B3
NULL NULL 4 B4

LEFT JOIN en RIGHT JOIN zijn vaak verwisselbaar door de volgorde van de tabellen in de query te veranderen: A LEFT JOIN B is gelijkwaardig aan B RIGHT JOIN A.