Middle
Ce tipuri de JOIN există în SQL și în ce constau diferențele dintre LEFT JOIN, RIGHT JOIN și INNER JOIN?
sobes.tech AI
Răspuns de la AI
În SQL există mai multe tipuri de JOIN-uri care permit combinarea rândurilor din două tabele în funcție de o anumită condiție:
- INNER JOIN — returnează doar rândurile care au corespondențe în ambele tabele.
- LEFT JOIN (LEFT OUTER JOIN) — returnează toate rândurile din tabelul din stânga și rândurile corespunzătoare din tabelul din dreapta. Dacă nu există corespondențe, câmpurile din tabelul din dreapta vor fi NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — invers, returnează toate rândurile din tabelul din dreapta și cele corespunzătoare din stânga, cu NULL acolo unde nu există corespondențe.
Exemplu:
Tabelul A:
| id | nume |
|---|---|
| 1 | Alice |
| 2 | Bob |
Tabelul B:
| id | oraș |
|---|---|
| 1 | Londra |
| 3 | Berlin |
- INNER JOIN după id va returna doar id=1 (Alice și Londra).
- LEFT JOIN va returna:
- id=1 (Alice, Londra)
- id=2 (Bob, NULL)
- RIGHT JOIN va returna:
- id=1 (Alice, Londra)
- id=3 (NULL, Berlin)
Astfel, LEFT și RIGHT JOIN păstrează toate rândurile dintr-una dintre tabele, completându-le cu date din cealaltă, în timp ce INNER JOIN păstrează doar cele care corespund.