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 e WHERE 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 tabelas
  • WHERE P.STATUS = 'confirmado' → aplica o filtro após o relacionamento
  • GROUP 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! 🚀

Tags: | | | |

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solicitar exportação de dados

Use este formulário para solicitar uma cópia de seus dados neste site.

Solicitar a remoção de dados

Use este formulário para solicitar a remoção de seus dados neste site.

Solicitar retificação de dados

Use este formulário para solicitar a retificação de seus dados neste site. Aqui você pode corrigir ou atualizar seus dados, por exemplo.

Solicitar cancelamento de inscrição

Use este formulário para solicitar a cancelamento da inscrição do seu e-mail em nossas listas de e-mail.