Questão de Banco de Dados — Banco de Dados Relacionais — CESPE / CEBRASPE 2024
- Código
- ce172196
- Banca
- CESPE / CEBRASPE
- Órgão
- CODEVASF
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista em Desenvolvimento Regional - Área: Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
❌ ERRADO. A consulta apresentada contém erros graves de sintaxe e lógica que a tornam incapaz de produzir o resultado desejado: (1) a condição WHERE cp.ID_Produto = c.ID_Produto é semanticamente inválida, pois a tabela Clientes não possui o atributo ID_Produto — isso geraria um erro de referência a coluna inexistente; (2) falta a cláusula GROUP BY c.Nome, cp.ID_Produto (ou similar) para que a função de agregação SUM seja aplicada por cliente e por produto; (3) não há filtro de período (WHERE cp.Data >= ... AND cp.Data <= ...), requisito explícito no enunciado. Portanto, a consulta está incorreta.
A banca testa conhecimentos básicos de SQL: junção de tabelas (JOIN), agregação com GROUP BY e filtros temporais. A consulta correta exigiria, por exemplo:
SELECT c.Nome, cp.ID_Produto, SUM(cp.Quantidade_Comprada) AS total_compras
FROM Compras cp
JOIN Clientes c ON cp.ID_Cliente = c.ID_Cliente
WHERE cp.Data BETWEEN 'inicio' AND 'fim'
GROUP BY c.Nome, cp.ID_Produto;Dessa forma, o item é classificado como Errado.
A banca insere uma condição WHERE que referencia uma coluna inexistente em Clientes (c.ID_Produto). O candidato pode não perceber que essa coluna não existe e considerar a consulta apenas incompleta, quando na verdade ela contém um erro de referência. Além disso, a ausência de GROUP BY e de filtro de período são outros problemas que tornam a consulta inválida.
Link permanente: /questoes/ce172196