Junior — Middle
Môžete vysvetliť rozdiely medzi rôznymi typmi spojení tabuliek v SQL?
sobes.tech AI
Odpoveď od AI
V SQL existuje niekoľko hlavných typov spojení (JOIN), ktoré umožňujú spájanie dát z dvoch alebo viacerých tabuliek:
- INNER JOIN — vracia iba riadky, kde je zhoda v oboch tabuľkách podľa podmienky.
- LEFT JOIN (LEFT OUTER JOIN) — vracia všetky riadky z ľavej tabuľky a zodpovedajúce riadky z pravej; ak zhoda chýba, hodnoty z pravej tabuľky budú NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — vracia všetky riadky z pravej tabuľky a zodpovedajúce z ľavej.
- FULL JOIN (FULL OUTER JOIN) — vracia všetky riadky z oboch tabuliek, dopĺňa NULL tam, kde nie je zhoda.
- CROSS JOIN — kartézsky súčin dvoch tabuliek, vracia všetky možné kombinácie riadkov.
Príklad INNER JOIN:
SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
Táto otázka vráti mená zamestnancov a názvy ich oddelení iba pre zamestnancov, ktorí majú oddelenie.