
Muitas vezes, dois conjuntos de dados parecem semelhantes: nomes parecidos, colunas parecidas… Mas basta um JOIN
errado para gerar duplicidade, dados quebrados ou resultados enganosos.
Neste artigo, você vai encarar um desafio onde duas tabelas têm campos parecidos e a missão é descobrir qual é o JOIN
correto para retornar o resultado esperado.
1. As Tabelas Envolvidas
🗂️ Tabela: produto
ID_PRODUTO | NOME_PRODUTO | CATEGORIA |
---|---|---|
1 | Teclado | Periférico |
2 | Monitor | Periférico |
3 | Mouse | Periférico |
4 | Notebook | Computador |
🗂️ Tabela: produto_estoque
ID_ESTOQUE | ID_PRODUTO | QUANTIDADE |
---|---|---|
101 | 1 | 20 |
102 | 2 | 15 |
103 | 4 | 10 |
2. O Objetivo da Consulta
Exibir o nome dos produtos junto com a quantidade em estoque, incluindo os produtos que ainda não têm registro de estoque.
3. O Erro Comum: Usar JOIN Direto e Perder Informações
SELECT P.NOME_PRODUTO, E.QUANTIDADE
FROM produto P
JOIN produto_estoque E ON P.ID_PRODUTO = E.ID_PRODUTO;
Resultado: o produto Mouse (ID 3) não aparece, porque não tem linha correspondente na tabela de estoque.
✅ O JOIN Correto: LEFT JOIN
SELECT P.NOME_PRODUTO, COALESCE(E.QUANTIDADE, 0) AS QUANTIDADE
FROM produto P
LEFT JOIN produto_estoque E ON P.ID_PRODUTO = E.ID_PRODUTO;
4. Explicando o Que Está Acontecendo
- O
LEFT JOIN
garante que todos os produtos apareçam, mesmo sem estoque - O
COALESCE(..., 0)
substitui osNULL
da colunaQUANTIDADE
por zero - O resultado final é completo, confiável e interpretável
5. Resultado Esperado
NOME_PRODUTO | QUANTIDADE |
---|---|
Teclado | 20 |
Monitor | 15 |
Mouse | 0 |
Notebook | 10 |
Conclusão
Quando você trabalha com tabelas relacionadas, não basta ter nomes parecidos — você precisa entender o relacionamento.
- Use
LEFT JOIN
para garantir abrangência - Aplique
COALESCE
para evitarNULL
em relatórios - Sempre pense: quero mostrar tudo ou só o que tem relação direta?
📢 Já cometeu erro por usar o JOIN errado? Ou descobriu o valor de um LEFT JOIN em uma situação como essa? Comenta aqui! 📚 E se quiser dominar SQL com raciocínio, estrutura e clareza, conheça o curso SQL Simplificado — onde cada JOIN tem propósito e prática real.
Nos vemos no próximo artigo do Blog do SQL! 🚀
0 Comentários