Middle
Care este diferența dintre LEFT JOIN și INNER JOIN?
sobes.tech AI
Răspuns de la AI
INNER JOIN returnează doar acele rânduri care au valori corespunzătoare în ambele tabele. Dacă într-una dintre tabele nu există o înregistrare corespunzătoare, acea linie nu va apărea în rezultat.
LEFT JOIN (sau LEFT OUTER JOIN) returnează toate rândurile din tabela din stânga și rândurile corespunzătoare din cea din dreapta. Dacă nu există o potrivire în tabela din dreapta, în rezultat vor apărea rânduri cu NULL în câmpurile tabelei din dreapta.
Exemplu:
SELECT A.id, B.value
FROM A
INNER JOIN B ON A.id = B.a_id;
-- Va returna doar id-urile din A care au o înregistrare corespunzătoare în B
SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;
-- Va returna toate id-urile din A, iar pentru cele fără corespondență în B, valoarea va fi NULL