Sobes.tech
Junior — Middle

Můžete vysvětlit rozdíly mezi různými typy spojení tabulek v SQL?

sobes.tech AI

Odpověď od AI

V SQL existuje několik hlavních typů spojení (JOIN), které umožňují spojovat data z dvou nebo více tabulek:

  • INNER JOIN — vrací pouze řádky, kde je shoda v obou tabulkách podle podmínky.
  • LEFT JOIN (LEFT OUTER JOIN) — vrací všechny řádky z levé tabulky a odpovídající řádky z pravé; pokud shoda chybí, hodnoty z pravé tabulky budou NULL.
  • RIGHT JOIN (RIGHT OUTER JOIN) — vrací všechny řádky z pravé tabulky a odpovídající z levé.
  • FULL JOIN (FULL OUTER JOIN) — vrací všechny řádky z obou tabulek, doplňuje NULL tam, kde není shoda.
  • CROSS JOIN — kartézský součin dvou tabulek, vrací všechny možné kombinace řádků.

Příklad INNER JOIN:

SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;

Tento dotaz vrátí jména zaměstnanců a názvy jejich oddělení pouze pro zaměstnance, kteří mají přiřazené oddělení.