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;