Questão de Banco de Dados — SQL — FGV 2025
- Código
- fg107872
- Banca
- FGV
- Órgão
- CPRM
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista em Geociências - Geoprocessamento
- AF – F – V.
- BV – F – V.
- CV – F – F.
- DF – V – F.
- EV – V – F.
GabaritoA — F – F – V.
Gabarito: letra A — F, F, V. A primeira consulta usa COUNT, que conta o número de linhas de cada grupo, e não a soma das áreas. A segunda falta a cláusula GROUP BY, o que torna a consulta inválida para agrupar por tipo. A terceira utiliza corretamente SUM com GROUP BY para obter o total de área por tipo.
A função COUNT(area) conta quantos registros existem em cada grupo (quantas linhas têm valor não nulo na coluna area). O gestor precisa da área total, não da contagem. Para isso, deveria usar SUM(area). Portanto, a afirmação é falsa.
A função MAX(area) retorna o maior valor da coluna area. Porém, a consulta não possui GROUP BY tipo. Sem o agrupamento, o SQL tentará retornar uma única linha com o maior area de toda a tabela, mas a coluna tipo não é agregada, causando erro (ou resultado imprevisível em alguns SGBDs). Para obter a área máxima por tipo, seria necessário SELECT tipo, MAX(area) FROM solo GROUP BY tipo;. Logo, a afirmação é falsa.
Esta consulta está correta. A função SUM(area) soma os valores da coluna area para cada grupo definido por tipo. O resultado será uma linha para cada tipo com a respectiva soma total de área. Atende exatamente ao que o gestor precisa.
Lembre-se: para agregar valores numéricos por categoria, use SUM(coluna) com GROUP BY. COUNT conta registros; MAX e MIN retornam extremos; AVG calcula média. Sempre que uma coluna não agregada aparecer no SELECT, ela deve estar no GROUP BY.
Gabarito: letra A — sequência F, F, V.
Link permanente: /questoes/fg107872