Sobes.tech
Junior — Middle

V čem se liší použití INNER JOIN od OUTER JOIN v SQL při spojování tabulek?

sobes.tech AI

Odpověď od AI

INNER JOIN vrací pouze řádky, které mají shody v obou tabulkách podle podmínky spojení. Pokud v jedné z tabulek není odpovídající záznam, řádek se nezobrazí ve výsledku.

OUTER JOIN (LEFT, RIGHT nebo FULL) vrací všechny řádky z jedné nebo obou tabulek, včetně těch bez shod. V takových případech jsou chybějící hodnoty doplněny NULL.

Příklad:

-- INNER JOIN: pouze odpovídající záznamy
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;

-- LEFT OUTER JOIN: všichni uživatelé, i ti bez objednávek
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;