FC ConcursosFC Concursos

Questão FC369479

ATENÇÃO: use a tabela relacional IPCA a seguir para responder à questão. Tabela IPCA indice ano mes 0,56 2023 12 0,28 2023 11 0,24 2023 10 . . . . . . . . . 0,2 2003 7 -0,15 2003 6

Linguagem SQL

FGV · 2024

ATENÇÃO: use a tabela relacional IPCA a seguir para responder à questão.

 

Tabela IPCA

indice

ano

mes

0,56

2023 12

0,28

2023 11

0,24

2023 10

. . .

. . .

. . .

0,2

2003 7

-0,15

2003 6

. . .

. . .

. . .

2,25

2003 1
2,1 2002 12
3,02 2002 11

. . .

. . .

. . .

0,57 2001 1

A instância da tabela contém os valores do índice IPCA para todos os meses dos anos de 2001 até 2023. Os valores pontilhados representam a continuidade mensal da série. Todas as colunas são numéricas, e não aceitam valores nulos.

 

No contexto da tabela IPCA, analise o script SQL de criação da view “v1”.

 

create view v1 as

select ano, mes, salto from (

   select y.ano, y.mes, y.indice anterior,

              x.indice novo, y.indice - x.indice salto

   from ipca x, ipca y

   where

   ((x.ano = y.ano and y.mes = x.mes + 1)

       Or (y.ano = x.ano + 1 and

      y.mes = 1 and x.mes = 12))

) x

 

Admitindo que pode haver empates, assinale o comando SQL que emprega corretamente a view v1 para produzir o ano/mês que teve o maior salto positivo do índice em relação ao mês anterior, e o valor do salto.

  1. select * from v1

         where salto = max(salto)

  2. select ano, mes, salto from v1

         where salto = (select max(salto) from v1)

  3. select ano, mes, salto from v1
  4. select ano, mes, salto from v1

         where salto = max(v1.salto)

  5. select ano, mes, salto from v1 where salto > 0
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A consulta select ano, mes, salto from v1 where salto = (select max(salto) from v1) utiliza corretamente a view v1 para retornar o(s) mês(es) com o maior aumento absoluto do índice em relação ao mês anterior.

A subconsulta (select max(salto) from v1) calcula a maior diferença \( \max(salto) \) presente na tabela derivada; em seguida a cláusula where filtra todas as linhas cuja coluna salto seja igual a esse valor máximo. Assim, se houver empates, todos os anos/meses com o mesmo maior salto serão retornados.

Essa abordagem é simples e eficiente: usa agregação para obter o valor máximo e igualdade para selecionar as linhas correspondentes, sem necessidade de junções adicionais nem de operações sobre índices originais.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo