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;