Pular para o conteúdo principal

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

Banco de DadosSQL
Código
fg086712
Banca
FGV
Órgão
MF
Ano
2024
Nível
Superior
Cargo
Auditor Federal de Finanças e Controle - Área de Tecnologia da Informação (Operação e Infraestrutura) - manhã
No contexto da tabela IPCA apresentada, analise o comando SQL a seguir.select avg(indice)from IPCAgroup by mesorder by mesA execução desse comando gera
  1. Adoze linhas com uma coluna contendo números.
  2. Bdoze linhas, contendo o valor null na primeira coluna e números na segunda.
  3. Cum resultado vazio.
  4. Duma linha com duas colunas, contendo o valor null e a média de todos os índices.
  5. Euma linha com uma coluna, contendo a média de todos os índices.
Revelar gabarito e comentário

GabaritoA — doze linhas com uma coluna contendo números.

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”.

Comando SQL com GROUP BY e ORDER BY

Gabarito: letra A. O comando SELECT avg(indice) FROM IPCA GROUP BY mes ORDER BY mes retorna 12 linhas (uma para cada mês do ano) com uma única coluna contendo a média dos índices daquele mês, conforme o funcionamento padrão da cláusula GROUP BY.

A tabela IPCA possui valores para todos os meses de 2001 a 2023, com colunas indice, ano e mes. Ao agrupar por mes (valores de 1 a 12), obtém-se uma linha por grupo — exatamente 12 linhas. A função avg(indice) calcula a média aritmética dos índices de cada grupo, resultando em números decimais. O ORDER BY mes apenas ordena as linhas pelo mês.

Alternativa A — ✅ Correta ⟵ GABARITO

A query produz 12 grupos (meses 1 a 12), cada um com sua média. O SELECT projeta apenas avg(indice), portanto cada linha tem uma única coluna numérica. Corresponde exatamente à descrição: "doze linhas com uma coluna contendo números".

Alternativa B — ❌ Incorreta

A query retorna apenas uma coluna (avg(indice)), não duas. A primeira coluna não é NULL; ela contém as médias. Não há segunda coluna.

Alternativa C — ❌ Incorreta

A tabela contém registros de todos os meses do período, portanto o GROUP BY gera linhas — o resultado não é vazio.

Alternativa D — ❌ Incorreta

A presença de GROUP BY mes faz com que o resultado tenha 12 linhas, não uma única linha. Além disso, não há uma coluna extra com NULL.

Alternativa E — ❌ Incorreta

Para se obter uma única linha com a média geral de todos os índices, seria necessário omitir a cláusula GROUP BY. Com GROUP BY mes, obtém-se uma linha por grupo, não uma linha única.

PEGA ESSA DICA!

O GROUP BY transforma a consulta em uma agregação por grupos. Sem ele, funções como avg() operam sobre toda a tabela e retornam uma linha. Com ele, cada valor distinto da coluna de agrupamento gera uma linha. Memorize: GROUP BY = uma linha por grupo.

Gabarito: letra A.

Link permanente: /questoes/fg086712