Questão FC369473
ATENÇÃO: use a tabela relacional IPCA a seguir para responder à próxima questão. Tabela IPCA indice ano mês 0,56 2023 12 0,28 2023 11 0,24 2023 10 . . . . . . . . . 0,2 2003 7 -0,1
Linguagem SQL
FGV · 2024
ATENÇÃO: use a tabela relacional IPCA a seguir para responder à próxima questão.
Tabela IPCA
| indice |
ano | mês |
| 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 apresentada, analise os dois comandos SQL a seguir.
select mes, ano, indice
from IPCA i
where indice
= (select min(indice)
from IPCA ii
where ii.mes = i.mes)
order by ano, mês
select ano, indice
from IPCA i
where indice
= (select min(indice)
from IPCA ii
where ii.ano = i.ano)
order by ano
Sobre a execução desses comandos, assinale a afirmativa correta.
- O primeiro comando produz no máximo 12 linhas, e o segundo, no máximo 23 linhas.
- O primeiro comando produz no mínimo 12 linhas, e o segundo, no máximo 23 linhas.
- O primeiro comando produz no mínimo 12 linhas, e o segundo, no mínimo 23 linhas.
- Os dois comandos produzem 276 linhas, com diferenças nos índices.
- Os dois comandos produzem os mesmos resultados.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O primeiro comando usa a subconsulta com min(indice) correlacionada por mes (cláusula where ii.mes = i.mes). Assim, para cada um dos 12 meses do ano será selecionado pelo menos um registro correspondente ao menor índice observado naquele mês ao longo dos anos disponíveis. Portanto, o resultado terá no mínimo \(12\) linhas — uma por mês — podendo apresentar mais em caso de empates (mesmo valor mínimo em anos diferentes).
O segundo comando calcula min(indice) correlacionado por ano (cláusula where ii.ano = i.ano
Note que a ausência de valores nulos garante que a subconsulta sempre retorna um mínimo por grupo, assegurando os quantitativos mínimos descritos.
Conteúdo do catálogo FC Concursos · Atualizado em