Junior — Middle
Explique a diferença entre INNER JOIN e OUTER JOIN em SQL e em que situações cada um é utilizado.
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.
OUTER JOIN devolve todas as linhas de uma tabela e as linhas correspondentes da outra. Se não houver correspondências, os locais sem dados serão NULL.
Tipos de OUTER JOIN:
- LEFT OUTER JOIN — todas as linhas da tabela esquerda + as correspondentes da direita.
- RIGHT OUTER JOIN — todas as linhas da tabela direita + as correspondentes da esquerda.
- FULL OUTER JOIN — todas as linhas de ambas as tabelas, com NULL onde não há correspondências.
Exemplo de uso:
- INNER JOIN — quando apenas os dados relacionados são necessários, por exemplo, pedidos com clientes existentes.
- LEFT OUTER JOIN — quando se deseja obter todos os clientes, incluindo aqueles sem pedidos.
Exemplo SQL:
SELECT customers.name, orders.id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
Este comando retornará todos os clientes e seus pedidos, se existirem, caso contrário NULL para os pedidos.