Sobes.tech
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.