Sobes.tech
Junior

Jaké typy JOIN existují v SQL?

sobes.tech AI

Odpověď od AI

V SQL existují následující hlavní typy JOIN:

  • INNER JOIN (nebo prostě JOIN): Vrací pouze řádky, kde jsou shody hodnot v obou tabulkách na základě zadané podmínky.

  • LEFT JOIN (nebo LEFT OUTER JOIN): Vrací všechny řádky z levé tabulky a odpovídající řádky z pravé tabulky. Pokud odpovídající řádky chybí, pole budou NULL.

  • RIGHT JOIN (nebo RIGHT OUTER JOIN): Vrací všechny řádky z pravé tabulky a odpovídající řádky z levé tabulky. Pokud odpovídající řádky chybí, pole budou NULL.

  • FULL JOIN (nebo FULL OUTER JOIN): Vrací všechny řádky, pokud existuje shoda v levé nebo pravé tabulce. Pokud shoda chybí, pole z chybějící tabulky budou NULL.

Další typy JOIN (závisí na konkrétním systému správy databází):

  • CROSS JOIN: Vrací kartézský součin dvou tabulek. Každý řádek z první tabulky je spojen s každým řádkem z druhé.

Příklad syntaxe:

-- INNER JOIN
SELECT *
FROM Tabulka1
INNER JOIN Tabulka2 ON Tabulka1.společný_sloupec = Tabulka2.společný_sloupec;

-- LEFT JOIN
SELECT *
FROM Tabulka1
LEFT JOIN Tabulka2 ON Tabulka1.společný_sloupec = Tabulka2.společný_sloupec;

-- RIGHT JOIN
SELECT *
FROM Tabulka1
RIGHT JOIN Tabulka2 ON Tabulka1.společný_sloupec = Tabulka2.společný_sloupec;

-- FULL JOIN
SELECT *
FROM Tabulka1
FULL JOIN Tabulka2 ON Tabulka1.společný_sloupec = Tabulka2.společný_sloupec;

-- CROSS JOIN
SELECT *
FROM Tabulka1
CROSS JOIN Tabulka2;