Junior — Middle
Care este diferența dintre utilizarea INNER JOIN și OUTER JOIN în SQL la combinarea tabelelor?
sobes.tech AI
Răspuns de la AI
INNER JOIN returnează doar acele rânduri care au corespondențe în ambele tabele conform condiției de join. Dacă într-una dintre tabele nu există o înregistrare corespunzătoare, acel rând nu va apărea în rezultat.
OUTER JOIN (LEFT, RIGHT sau FULL) returnează toate rândurile dintr-una sau ambele tabele, inclusiv cele fără corespondențe. În astfel de cazuri, valorile lipsă sunt completate cu NULL.
Exemplu:
-- INNER JOIN: doar înregistrări corespunzătoare
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
-- LEFT OUTER JOIN: toți utilizatorii, chiar dacă nu au comenzi
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;