Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2023
- Código
- vu195948
- Banca
- VUNESP
- Órgão
- CIJUN
- Ano
- 2023
- Cargo
- Ana ( )

- Anull
- B542.183
- C813.275
- D9 126.94
- E7 654.75

GabaritoC — 813.275
Gabarito: letra C — a conta chega a 813.275 — alternativa C.
A função AVG é uma função de agregação do SQL que calcula a média aritmética de um conjunto de valores numéricos, ignorando valores nulos. Ela é usada para resumir dados, como obter a média de uma coluna. O INNER JOIN é um tipo de junção que combina registros de duas tabelas apenas quando a condição especificada na cláusula ON é verdadeira, retornando somente as linhas que têm correspondência em ambas as tabelas.
A consulta usa uma subconsulta para calcular a diferença entre o valor empenhado e o valor pago para cada empenho que existe nas duas tabelas (INNER JOIN). A subconsulta gera uma tabela temporária com uma coluna 'diferenca'. Em seguida, a consulta externa aplica AVG(diferenca) para obter a média dessas diferenças. O INNER JOIN garante que apenas os empenhos presentes nas duas tabelas sejam considerados, excluindo aqueles que estão apenas em uma delas.
Esta questão cobra a interpretação do resultado de uma consulta SQL que combina INNER JOIN e AVG. O candidato precisa entender o que a consulta faz e identificar o valor correto exibido na figura, prestando atenção à formatação dos números.
tabela_pago com colunas NUMERO_EMPENHO e valor
tabela_empenhado com colunas NUMERO_EMPENHO e valor
consulta SQL com INNER JOIN e AVG
O que queremos: o resultado numérico da consulta, considerando até a terceira casa decimal
A consulta precisa de um valor numérico para cada empenho antes de tirar a média. O INNER JOIN combina as linhas das duas tabelas que têm o mesmo NUMERO_EMPENHO, e a subconsulta calcula a diferença entre o valor empenhado e o valor pago para cada uma dessas combinações. Sem esse passo, não há o que agregar.
Por que esta fórmula: A expressão 'tabela_empenhado.valor - tabela_pago.valor' é a subtração direta dos valores das duas colunas, que é exatamente a diferença que se quer medir.
De onde vem cada valor: = enunciado: coluna valor da tabela_empenhado · = enunciado: coluna valor da tabela_pago
Esquecer que o INNER JOIN exclui empenhos que não estão nas duas tabelas, o que altera a média.
Com as diferenças calculadas para cada empenho, a consulta externa usa AVG para resumir todos esses valores em um único número: a média aritmética. É essa média que aparece no resultado.
Por que esta fórmula: AVG é a função de agregação que calcula a média de um conjunto de valores, ignorando nulos. É exatamente o que a consulta pede.
De onde vem cada valor: = passo 1: coluna calculada na subconsulta
Confundir AVG com SUM ou COUNT, que dariam resultados diferentes.
A questão fornece o resultado da consulta em uma figura. O valor numérico é o que precisamos para escolher a alternativa. É importante ler a figura com atenção, pois a formatação pode usar ponto ou vírgula como separador decimal.
Confundir a notação: por exemplo, ler 813.275 como 813 mil e 275, quando na verdade é 813,275.
Com o valor identificado, basta comparar com as alternativas. O valor 813.275 corresponde à alternativa C.
Marcar a alternativa B (542.183) ou D (9 126.94) por erro de leitura da figura.
Resposta: 813.275 — alternativa C
Link permanente: /questoes/vu195948