Middle
Jak pracujete s SQL? Čím se liší INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?
sobes.tech AI
Odpověď od AI
SQL JOIN je operace spojení dat ze dvou tabulek na základě propojeného pole. Rozdíly mezi typy JOIN:
-
INNER JOIN — vrací pouze záznamy, které mají shody v obou tabulkách.
-
LEFT JOIN (LEFT OUTER JOIN) — vrací všechny záznamy z levé tabulky a odpovídající z pravé; pokud shoda chybí, v pravé části budou NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — naopak, vrací všechny záznamy z pravé tabulky a odpovídající z levé; pokud shoda chybí, v levé části budou NULL.
-
FULL OUTER JOIN — vrací všechny záznamy z obou tabulek; pokud shoda chybí, v příslušné části budou NULL.
Příklad:
SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;
Tento dotaz vrátí všechny zákazníky s jejich objednávkami, pokud existují, nebo NULL v poli order_date, pokud žádné objednávky nejsou.