Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2025

Banco de DadosSQL
Código
fg107872
Banca
FGV
Órgão
CPRM
Ano
2025
Nível
Superior
Cargo
Analista em Geociências - Geoprocessamento
Uma tabela contém os dados de cobertura do solo com colunas tipo e área. Um gestor precisa saber a área total ocupada por cada tipo.Analise a sequência de consulta correta para gerar esse resultado, classificando-as como Verdadeiro (V) ou Falso (F).( ) SELECT tipo, COUNT(area) FROM solo GROUP BY tipo;( ) SELECT tipo, MAX(area) FROM solo;( ) SELECT tipo, SUM(area) FROM solo GROUP BY tipo;A sequência correta de preenchimento dos parênteses, de cima para baixo, é
  1. AF – F – V.
  2. BV – F – V.
  3. CV – F – F.
  4. DF – V – F.
  5. EV – V – F.
Revelar gabarito e comentário

GabaritoA — F – F – V.

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 GROUP BY

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.

( ) SELECT tipo, COUNT(area) FROM solo GROUP BY tipo — ❌ Falso

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.

( ) SELECT tipo, MAX(area) FROM solo — ❌ Falso

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.

( ) SELECT tipo, SUM(area) FROM solo GROUP BY tipo — ✅ Verdadeiro

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.

1COUNT(coluna)
Conta linhas com valor não nulo
Não soma valores
2MAX(coluna)
Maior valor da coluna
Exige GROUP BY para agrupar
3SUM(coluna)
Soma valores numéricos
Uso correto: SUM + GROUP BY
4Regra geral
Coluna não agregada no SELECT
Deve estar no GROUP BY
Funções de agregação SQL
LEVELsoulevel.com.br
Funções de agregação SQL: COUNT(coluna) (Conta linhas com valor não nulo, Não soma valores); MAX(coluna) (Maior valor da coluna, Exige GROUP BY para agrupar); SUM(coluna) (Soma valores numéricos, Uso correto: SUM + GROUP BY); Regra geral (Coluna não agregada no SELECT, Deve estar no GROUP BY)
PEGA ESSA DICA!

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