
Você já olhou para uma query e teve aquela sensação:
“Parece certa… mas tem algo errado aqui.”
Esse tipo de leitura crítica é fundamental para quem trabalha com SQL no dia a dia. Neste artigo, você vai analisar uma query aparentemente correta, descobrir onde está o erro, e entender como fazer a correção de forma clara e justificada.
O Desafio: Esta Query Está Correta?
SELECT C.NOME, COUNT(P.ID_PEDIDO) AS TOTAL_PEDIDOS
FROM cliente C
JOIN pedido P WHERE C.ID_CLIENTE = P.ID_CLIENTE AND P.STATUS = 'confirmado'
GROUP BY C.NOME;
Aparentemente, ela funciona. Mas… ❌ está errada.
Qual é o erro?
O problema está na cláusula JOIN
. O ON
da junção está dentro do WHERE, o que só funcionaria com um CROSS JOIN
+ filtro — e mesmo assim, não é o ideal.
✅ Forma Correta da Query
SELECT C.NOME, COUNT(P.ID_PEDIDO) AS TOTAL_PEDIDOS
FROM cliente C
JOIN pedido P ON C.ID_CLIENTE = P.ID_CLIENTE
WHERE P.STATUS = 'confirmado'
GROUP BY C.NOME;
Por Que Isso Importa?
- Escrever
JOIN
da forma correta melhora clareza e performance - Separar
ON
eWHERE
ajuda a evitar bugs sutis - Em bancos mais exigentes, como PostgreSQL, a query nem roda com erro de sintaxe
Explicando as Partes da Query Corrigida
JOIN pedido P ON C.ID_CLIENTE = P.ID_CLIENTE
→ define a junção entre tabelasWHERE P.STATUS = 'confirmado'
→ aplica o filtro após o relacionamentoGROUP BY C.NOME
→ agrupa por nome do cliente para contar pedidos
Dica Extra: Como Evitar Esse Erro no Dia a Dia
- Sempre escreva o
JOIN
de forma explícita - Mantenha a condição de junção no ON, e os filtros lógicos no
WHERE
- Leia a query em voz alta: “estou conectando as tabelas… e agora filtrando…”
Conclusão
Esse exercício mostra como erros pequenos em SQL podem gerar resultados errados — ou pior, parecerem certos. Por isso, dominar a estrutura correta é fundamental.
- Use o
JOIN
com clareza - Separe relacionamento de filtro
- Corrija e justifique sempre que possível — é sinal de maturidade técnica
📢 Já cometeu ou encontrou esse tipo de erro em alguma consulta? Como resolveu? Comenta aqui! 📚 E se quiser aprender a escrever SQL com confiança, lógica e leitura crítica, conheça o curso SQL Simplificado — feito pra quem quer dominar do básico ao avançado.
Nos vemos no próximo artigo do Blog do SQL! 🚀
0 Comentários