Questão 62 · Informática: Banco de dados
Observe a seguinte consulta SQL, feita no SQLite:
SELECT imagem, avg(imagem) OVER (PARTITION BY grau) AS media_grau FROM historico_bijecao; O SQLite dispõe de vários tipos de função. Na consulta acima, a função avg foi usada como uma função do tipo:
- A) core;
- B) math;
- C) window;
- D) ordinary scalar;
- E) ordinary aggregate.
Marque a alternativa correta:
Gabarito: C
Gabarito definitivo divulgado pela banca FGV (TCE/SP 2023).
Comentário
Gabarito: C.
Na consulta, a função avg aparece acompanhada da cláusula OVER (PARTITION BY grau). Essa estrutura define uma função de janela (window function): a média é calculada sobre a partição de linhas definida por grau, sem agrupar e reduzir o resultado. Cada linha mantém sua identidade e recebe a média do seu grupo.
Por isso, a avg foi usada como função do tipo window.
- A (core): agrupa funções básicas, como length e abs, e não se aplica a avg com OVER.
- B (math): agrupa funções matemáticas do SQLite, usadas em contextos extensos, sem a cláusula OVER.
- D (ordinary scalar): opera sobre uma linha de cada vez, como upper, e não calcula sobre partições.
- E (ordinary aggregate): agrega várias linhas em um único resultado, como uso comum de avg com GROUP BY, o que não é o caso aqui.
Dica de prova: a presença de OVER indica função de janela, mesmo que o nome da função seja de agregação, como avg, sum ou count. Essa é a pegadinha típica.
Fundamentos: SQLite: categorias de funções · Funções de janela (OVER, PARTITION BY) · Diferença entre agregação e janela
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV TCE/SP 2023 (Agente da Fiscalização – TI), questão 62, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.