Questão de Banco de Dados — Banco de Dados Relacionais — FUNDATEC 2025
Banco de Dados›Banco de Dados Relacionais
Código
qg474858
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação / Ênfase em Análise de Sistemas / Gerência de Projetos de TI
Para contar quantos pedidos cada cliente fez, qual combinação de cláusulas SQL seria mais apropriada?
ACOUNT(*) e ORDER BY
BSUM(VALOR) e HAVING
CCOUNT(PEDIDOS.ID) e GROUP BY CLIENTES.ID
DMAX(VALOR) e WHERE
ESELECT DISTINCT e JOIN
Revelar gabarito e comentário▾
GabaritoC — COUNT(PEDIDOS.ID) e GROUP BY CLIENTES.ID
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SQL: Funções de Agregação e Agrupamento
Gabarito: letra C. Para contar quantos pedidos cada cliente fez, a combinação adequada é COUNT(PEDIDOS.ID) (função de agregação que conta o número de linhas) com GROUP BY CLIENTES.ID (agrupa os resultados por cliente). Isso retorna uma linha por cliente com o total de pedidos daquele cliente.
A banca testa o conhecimento sobre funções de agregação (COUNT, SUM, MAX, etc.) e a cláusula GROUP BY, que é obrigatória quando se deseja agregar dados por grupo (neste caso, por cliente). Sem o GROUP BY, o COUNT contaria todas as linhas da tabela, sem separar por cliente.
As demais alternativas não atendem ao requisito:
1COUNT(PEDIDOS.ID)
2GROUP BY CLIENTES.ID
3Resultado: total por cliente
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
COUNT(*) e ORDER BY: ORDER BY serve para ordenar o resultado, não para agrupar. Faltaria o GROUP BY para contar por cliente.
Alternativa B — ❌ Incorreta
SUM(VALOR) e HAVING: SUM soma valores, não conta pedidos; HAVING é usado para filtrar grupos após o GROUP BY, mas não substitui o agrupamento.
Alternativa C — ✅ Correta ⟵ GABARITO
COUNT(PEDIDOS.ID) conta os pedidos (cada pedido tem um ID único) e GROUP BY CLIENTES.ID agrupa por cliente. Exatamente o necessário.
Alternativa D — ❌ Incorreta
MAX(VALOR) e WHERE: MAX retorna o maior valor de uma coluna, não conta; WHERE filtra linhas antes do agrupamento, não agrupa.
Alternativa E — ❌ Incorreta
SELECT DISTINCT e JOIN: SELECT DISTINCT elimina duplicatas, mas não conta; JOIN combina tabelas, mas sem GROUP BY e COUNT não é possível contar por grupo.
PEGA ESSA DICA!
Lembre-se: sempre que a pergunta envolver "por cada" (por cliente, por departamento, por mês), você precisará de GROUP BY mais uma função de agregação (COUNT, SUM, AVG, etc.). HAVING é o "WHERE do GROUP BY" (filtra grupos), não o agrupamento em si.