Junior — Middle
Čím se liší vnitřní spojení od pravého vnějšího spojení v SQL?
sobes.tech AI
Odpověď od AI
V SQL se liší vnitřní spojení (INNER JOIN) a pravé vnější spojení (RIGHT OUTER JOIN) tím, které řádky z tabulek jsou zahrnuty do výsledku.
-
INNER JOIN vrací pouze řádky, které mají shody v obou tabulkách podle podmínky spojení.
-
RIGHT OUTER JOIN vrací všechny řádky z pravé tabulky a odpovídající řádky z levé tabulky. Pokud pro řádek z pravé tabulky neexistuje shoda v levé, pole levé tabulky budou NULL.
Příklad:
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Vrátí pouze řádky, kde A.id odpovídá B.a_id
SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Vrátí všechny řádky z B, i když nemají shodu v A