
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
JOINda forma correta melhora clareza e performance - Separar
ONeWHEREajuda 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
JOINde 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
JOINcom 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