Você já se deparou com uma query SQL e ficou na dúvida:

“Será que isso aqui vai funcionar?” “Ou tem algum erro escondido que só aparece na hora de executar?”

Saber identificar erros sem nem rodar a consulta é uma habilidade valiosa. Neste artigo, você será desafiado a analisar uma query e responder: Ela está correta ou vai dar erro? E por quê?

Vamos testar seu olhar técnico e, de quebra, revisar um ponto fundamental de lógica em SQL.


O Desafio: Analise Esta Query

SELECT c.ID_CLIENTE, 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;

Aparentemente, tudo certo… mas está mesmo?

Vamos analisar:

🔹 SELECT

Seleciona três colunas:

  • c.ID_CLIENTE
  • c.NOME
  • COUNT(p.ID_PEDIDO)

🔹 JOIN

Junta as tabelas cliente e pedido pela chave ID_CLIENTE.

🔹 WHERE

Filtra os pedidos com status 'confirmado'.

🔹 GROUP BY

Agrupa apenas por c.NOME.


A Query Vai Funcionar? ❌ Não. Ela Vai Dar Erro.

Por quê?

Porque ela seleciona c.ID_CLIENTE sem incluir essa coluna no GROUP BY ou aplicar uma função agregada.

Em SQL padrão (e especialmente em bancos como PostgreSQL e SQL Server), toda coluna no SELECT precisa estar:

  • no GROUP BY, ou
  • envolvida por uma função agregada (COUNT, SUM, MAX, etc.)

Neste caso, o GROUP BY c.NOME está correto só para c.NOME, mas não cobre c.ID_CLIENTE.


✅ Como Corrigir a Query?

✔️ Opção 1 – Adicionar a coluna ao GROUP BY

SELECT c.ID_CLIENTE, 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.ID_CLIENTE, c.NOME;

✔️ Opção 2 – Agregar ou remover a coluna (caso não seja necessária)

Se não quiser agrupar por ID, remova do SELECT ou use alguma função.


O Que Aprender Com Isso?

  • Não basta olhar se os comandos estão certos. Você precisa entender a lógica do agrupamento.
  • Saber onde o erro acontece sem executar a query é sinal de maturidade técnica.
  • Esses detalhes evitam bugs silenciosos ou falhas em relatórios.

Conclusão

Essa query ensina uma lição valiosa: em SQL, sintaxe correta não garante execução bem-sucedida. Você precisa alinhar SELECT, GROUP BY e agregações com lógica e cuidado.

  • Leia sempre com atenção
  • Revise agrupamentos e colunas
  • Teste mentalmente antes de executar

A prática de análise como essa te torna mais preciso e confiável com dados.


Você já cometeu esse erro antes? Ou identificou logo de cara o problema nessa query? Compartilha comigo nos comentários! 📚 E se quiser treinar ainda mais esse tipo de lógica com clareza e exercícios reais, conheça o curso SQL Simplificado — feito pra quem quer dominar a leitura e a escrita de queries com segurança.

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.