Questão 66801

Tecnologia da Informação · 2025

Questão

ID 66801

Disciplina: Tecnologia da Informação

Assuntos: Funções Agregadas (Group BY e Having), Select

Ano: 2025 Banca: PERFIL - ENADE Órgão: Segundo Simulado Pnd


Um professor de Banco de Dados para um curso técnico está ensinando sobre a linguagem SQL e quer que os alunos compreendam a diferença e o uso correto das cláusulas `WHERE` e `HAVING` em uma consulta. Ele percebe que os alunos frequentemente tentam usar `WHERE` para filtrar resultados de funções de agregação, o que gera erros. Para esclarecer a distinção, ele apresenta um trecho da documentação do padrão SQL: "A cláusula `WHERE` é usada para filtrar linhas *antes* de qualquer agrupamento ou função de agregação ser aplicada. Ela opera em dados de linhas individuais. A cláusula `GROUP BY` é usada para agrupar linhas que têm os mesmos valores em colunas especificadas em um conjunto de linhas de resumo. Funções de agregação (como `COUNT()`, `SUM()`, `AVG()`) operam nesses grupos. A cláusula `HAVING` é usada para filtrar *grupos* com base no resultado de uma função de agregação. Ela é aplicada *depois* que o agrupamento foi feito." Para a atividade prática, ele fornece uma tabela `VENDAS` com as colunas `ID_Vendedor`, `Produto` e `Valor` e pede aos alunos que escrevam uma consulta para responder à seguinte pergunta: "Quais vendedores tiveram um valor total de vendas (soma de todos os seus `Valor`) superior a R$ 10.000?"

Qual das seguintes consultas SQL responde corretamente à pergunta, utilizando `GROUP BY` e `HAVING` de forma apropriada?

Alternativas da questão 66801
Pular para o conteúdo principal