Sobes.tech
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