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
Adoze linhas com uma coluna contendo números.
Bdoze linhas, contendo o valor null na primeira coluna e números na segunda.
Cum resultado vazio.
Duma linha com duas colunas, contendo o valor null e a média de todos os índices.
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.