Cum lucrezi cu SQL? Care sunt diferențele dintre INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?
sobes.tech AI
Răspuns de la AI
JOIN SQL — o operațiune de unire a datelor din două tabele pe baza unui câmp legat. Diferențele dintre tipurile de JOIN:
-
INNER JOIN — returnează doar înregistrările care au potriviri în ambele tabele.
-
LEFT JOIN (LEFT OUTER JOIN) — returnează toate înregistrările din tabelul din stânga și cele potrivite din dreapta; dacă nu există potriviri, în partea dreaptă vor fi NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — invers, returnează toate înregistrările din tabelul din dreapta și cele potrivite din stânga; dacă nu există potriviri, în partea stângă vor fi NULL.
-
FULL OUTER JOIN — returnează toate înregistrările din ambele tabele; dacă nu există potriviri, câmpurile corespunzătoare vor fi NULL.
Exemplu:
SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;
Această interogare va returna toți clienții cu comenzile lor, dacă există, sau NULL în câmpul order_date dacă nu există comenzi.