Junior — Middle
Qual é a diferença entre usar INNER JOIN e OUTER JOIN em SQL ao unir tabelas?
sobes.tech IA
Resposta da IA
INNER JOIN devolve apenas as linhas que têm correspondências em ambas as tabelas de acordo com a condição de junção. Se numa das tabelas não houver uma entrada correspondente, essa linha não aparecerá no resultado.
OUTER JOIN (LEFT, RIGHT ou FULL) devolve todas as linhas de uma ou ambas as tabelas, incluindo aquelas sem correspondência. Nesses casos, os valores ausentes são preenchidos com NULL.
Exemplo:
-- INNER JOIN: apenas registros correspondentes
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
-- LEFT OUTER JOIN: todos os utilizadores, mesmo que não tenham pedidos
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;