
Muita gente sabe interpretar uma query pronta, mas trava quando precisa escrever ou completar uma consulta do zero. Neste artigo, vamos simular um desafio comum em entrevistas e testes técnicos:
Você recebe um trecho de código incompleto e precisa completar a query para entregar o resultado correto.
Mais do que saber a sintaxe, esse exercício exige compreensão de estrutura e raciocínio com SQL.
O Desafio: Tabelas Envolvidas
🗂️ Tabela: cliente
ID_CLIENTE | NOME | CIDADE |
---|---|---|
1 | Ana Souza | São Paulo |
2 | Bruno Lima | Curitiba |
3 | Carla Torres | São Paulo |
🗂️ Tabela: pedido
ID_PEDIDO | ID_CLIENTE | VALOR_TOTAL | DATA_PEDIDO | STATUS |
---|---|---|---|---|
101 | 1 | 200.00 | 2024-04-10 | confirmado |
102 | 2 | 350.00 | 2024-04-11 | confirmado |
103 | 1 | 150.00 | 2024-04-12 | cancelado |
104 | 3 | 180.00 | 2024-04-14 | confirmado |
Enunciado do Desafio
Complete a query abaixo para mostrar os nomes dos clientes de São Paulo que fizeram pelo menos um pedido confirmado.
SELECT c.NOME
FROM cliente c
-- falta o JOIN e o filtro
Pensando em Etapas
- Você precisa juntar cliente com pedido
- Precisa filtrar por cidade = ‘São Paulo’
- Precisa garantir que o pedido esteja com STATUS = ‘confirmado’
- E pode querer eliminar duplicatas, se houver mais de um pedido por cliente
Resposta Completa da Query
SELECT DISTINCT c.NOME
FROM cliente c
JOIN pedido p ON c.ID_CLIENTE = p.ID_CLIENTE
WHERE c.CIDADE = 'São Paulo'
AND p.STATUS = 'confirmado';
Explicação da Solução
JOIN
→ conecta clientes com seus pedidosWHERE c.CIDADE = 'São Paulo'
→ traz apenas clientes dessa cidadeAND p.STATUS = 'confirmado'
→ considera apenas pedidos válidosDISTINCT
→ evita repetir nomes em caso de múltiplos pedidos confirmados
Variações e Extensões
➕ Mostrar quantos pedidos confirmados cada cliente fez:
SELECT c.NOME, COUNT(*) AS TOTAL_PEDIDOS
FROM cliente c
JOIN pedido p ON c.ID_CLIENTE = p.ID_CLIENTE
WHERE c.CIDADE = 'São Paulo'
AND p.STATUS = 'confirmado'
GROUP BY c.NOME;
Conclusão
Completar uma query corretamente exige mais do que lembrar comandos: Você precisa entender a lógica por trás da consulta, identificar o que está faltando e escrever com precisão.
- Conecte as tabelas corretamente
- Aplique os filtros na ordem certa
- Use
DISTINCT
ouGROUP BY
quando o cenário pedir
Essa prática te aproxima do dia a dia real de quem trabalha com SQL.
📢 E aí? Você conseguiu completar a query sozinho? Teria feito de outro jeito? Comenta aqui! 📚 E se quiser aprender SQL com foco em lógica, estrutura e exercícios práticos, conheça o curso SQL Simplificado — feito pra você pensar, criar e dominar o SQL de verdade.
Nos vemos no próximo artigo do Blog do SQL! 🚀
0 Comentários