Questão
ID 1110981Disciplina: Tecnologia da Informação
Assunto: Select
Ano: 2023 Banca: FGV - Fundação Getúlio Vargas Órgão: Prefeitura da Cidade do Rio de Janeiro
Considere a existência de uma tabela relacional N, com apenas uma coluna, intitulada numero, contendo os números inteiros de 1 até 100, um em cada linha, como ilustrada a seguir.
N |
numero |
1 |
2 |
... |
99 |
100 |
Como pode haver discrepâncias entre implementações da linguagem SQL, é dado que a função sqrt(x) retorna a raiz quadrada de x e que a expressão a % b retorna o resto da divisão inteira de a por b.
Este é o resultado produzido por um determinado script SQL que utiliza a tabela N, anteriormente descrita.
A | B |
2 | 50 |
3 | 33 |
4 | 25 |
5 | 20 |
6 | 16 |
7 | 14 |
Abaixo, são apresentadas três versões para o referido script, não necessariamente corretas.
I.
select x.numero A,
(select count(*) from N
where N.numero % x.numero = 0) B
from (select numero from N
where numero >= 2 and numero <= 7) x
order by 2 desc
II.
select x.numero A,
(select count(*) from N
where N.numero % x.numero = 0) B
from (select numero from N
where numero >= 2 and numero <= 7) x
where x.numero % x.numero = 0
order by 2 desc
III.
select x.numero A,
(select count(*) from N
where N.numero % x.numero = 0) B
from (select numero from N
where numero >= 2 and numero <= 7) x
where x.numero % x.numero = 0
group by x.numero
having count(*) > 0
order by 2 desc
Sobre essas afirmativas, é correto afirmar que: