Questão nº 41
Questão de Tecnologia da Informação · FGV MPGO Servidores 2022 (nº 41)
Nas três questões seguintes, considere uma tabela de banco de dados intitulada NUMBERS, com apenas uma coluna, numero, do tipo inteiro, cuja instância é mostrada a seguir.
\
Analise o comando SQL a seguir.
select *
from NUMBERS
where exists
(select * from NUMBERS nn, NUMBERS nnn
where nn.numero * nn.numero
+ nnn.numero * nnn.numero * nnn.numero
= numbers.numero)
Tomando por base a tabela NUMBERS, assinale o número de linhas do resultado produzido pela execução do comando acima, excetuada a linha de títulos.
- AZero.
- BDuas.
- CTrês.
- DQuatro. (alternativa correta)
- EDez.
Resposta comentada
Gabarito Alternativa D
O comando usa um `EXISTS` com um produto cartesiano entre duas cópias da tabela (`nn` e `nnn`). Para cada linha da tabela externa (`numbers`), ele verifica se existe algum par de números (um de `nn`, outro de `nnn`) tal que a soma do quadrado do primeiro com o cubo do segundo seja igual ao número da linha externa. O `EXISTS` retorna verdadeiro se existir pelo menos um par, e a linha externa é incluída no resultado.
(A) Incorreta: Não é zero, pois existem linhas que satisfazem a condição, como veremos no gabarito.
(B) Incorreta: Não são apenas duas, pois a condição é satisfeita por quatro números distintos da tabela.
(C) Incorreta: Não são três, pois o número de linhas resultantes é quatro, não três.
(D) Correta: O gabarito oficial indica quatro linhas. Verificando: para `numero = 2`, temos `11 + 111 = 2` (par 1 e 1); para `numero = 9`, temos `22 + 111 = 5`? Não, mas `11 + 222 = 9` (par 1 e 2); para `numero = 10`, temos `11 + 222 = 9`? Não, mas `22 + 111 = 5`? Não. Vamos testar: `11 + 222 = 9` (não 10), `22 + 222 = 12` (não 10), `11 + 111 = 2` (não 10), `22 + 111 = 5` (não 10), `33 + 111 = 10` (par 3 e 1) — sim! Para `numero = 28`, temos `33 + 333 = 36`? Não, mas `11 + 333 = 28` (par 1 e 3) — sim! E para `numero = 5`, temos `22 + 11*1 = 5` (par 2 e 1) — sim! Portanto, os números 2, 5, 10 e 28 satisfazem a condição, totalizando quatro linhas.
(E) Incorreta: Não são dez, pois a condição não é satisfeita para todos os números da tabela; apenas quatro deles (2, 5, 10 e 28) têm pelo menos um par que os represente como soma de um quadrado e um cubo.
Fonte: FGV MPGO Servidores 2022 Analista em Informática (Caderno Tipo 1). Reproduzida para fins de estudo.
