Pular para o conteúdo

Cebraspe · Secretaria de Estado da Fazenda do Paraná (SEFA/PR) 2026

Questão 5 — Banco de Dados: SQL — GROUP BY e HAVING

Banco de Dados SQL — GROUP BY e HAVING

Cebraspe 2026

Secretaria de Estado da Fazenda do Paraná (SEFA/PR) · Agente Fazendário Estadual – Função: Profissional de Tecnologia da Informação (Cargo 6)

Gabarito disponível

contribuinte(
id_contribuinte INTEGER PRIMARY KEY,
nome VARCHAR(100));

pagamento(
id_pagamento INTEGER PRIMARY KEY,
id_contribuinte INTEGER,
valor DECIMAL(12,2),
FOREIGN KEY (id_contribuinte) REFERENCES contribuinte(id_contribuinte));

As tabelas contribuinte e pagamento apresentadas anteriormente fazem parte do banco de dados da secretaria de fazenda de certo ente federativo. A administração tributária deste ente deseja listar os nomes dos contribuintes cujo valor total de pagamentos é superior à média total dos pagamentos de todos os contribuintes.

A partir dessa situação hipotética, assinale a opção em que é corretamente apresentada a instrução adequada, de acordo com o padrão SQL/ANSI, para se obter a lista desejada pela administração tributária.
Selecione uma alternativa

Resolução comentada

Use JOIN, GROUP BY nome e HAVING com subconsulta de média.

Para filtrar grupos pelo total agregado, usa-se HAVING após o GROUP BY. A comparação é SUM(p.valor) > (SELECT AVG(valor) FROM pagamento), uma subconsulta escalar com a média geral. Isso é feito na alternativa B.

Análise das alternativas

A) Não tem GROUP BY e usa ALL desnecessariamente. C) Usa HAVING sem GROUP BY e compara valor individual com a média. D) Usa função de agregação no WHERE, o que não é permitido. E) Coloca o WHERE depois do GROUP BY, o que é sintaxe inválida, e usa agregação no WHERE.

Referência: SQL ANSI – GROUP BY, HAVING e subconsultas

Resolução comentada do VaiConcursos.

Ver gabarito

Gabarito: B

Fonte: Gabarito preliminar: Gabarito oficial definitivo — página 1