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.