Analise o comando SQL a seguir. select n1.numero * 10 + n2.n...

Próximas questões
Com base no mesmo assunto
Ano: 2022 Banca: FGV Órgão: MPE-GO Prova: FGV - 2022 - MPE-GO - Analista em Informática |
Q1912771 Banco de Dados
Analise o comando SQL a seguir.
select n1.numero * 10 + n2.numero x FROM NUMBERS n1, NUMBERS n2 where n2.numero = 9 - n1.numero + 1 order by n1.numero, n2.numero
Tomando por base a tabela NUMBERS, o resultado produzido pelo comando acima contém 9 linhas, ignorada a linha de títulos.
O número que aparece na quarta dessas nove linhas é o 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - 46.

Para resolver essa questão, é preciso entender como opera o SQL (Structured Query Language), que é a linguagem padrão para gerenciar e manipular bancos de dados. No comando apresentado, a operação é uma consulta SELECT com uma condição específica de junção (JOIN) implícita entre duas instâncias da mesma tabela NUMBERS, representadas por n1 e n2.

O entendimento da questão exige o conhecimento sobre produto cartesiano, o qual ocorre quando duas tabelas são combinadas sem uma condição explícita de junção, e a aplicação de um filtro posterior na cláusula WHERE. A filtragem especificada pelo comando where n2.numero = 9 - n1.numero + 1 indica que apenas os pares de números onde a soma de n1.numero e n2.numero resulta 10 serão selecionados.

O cálculo realizado na seleção select n1.numero * 10 + n2.numero x multiplica o valor de n1.numero por 10 e adiciona o valor de n2.numero. Portanto, para cada par de números que atende à condição da cláusula WHERE, um novo valor é calculado e incluído nos resultados.

Considerando que o resultado possui 9 linhas, e queremos identificar o número na quarta linha, é evidente que estamos considerando uma sequência ordenada, conforme indicado pelo ORDER BY. Isso sugere que a tabela NUMBERS contém pelo menos 5 números (de 1 a 5), pois se n1.numero fosse 5 na quarta linha, n2.numero seria 5 (10 - 5 + 1), resultando em 55 (5*10 + 5). No entanto, como a resposta correta é a alternativa B (46), isso significa que na quarta linha, n1.numero deve ser 4, e n2.numero deve ser 6 (10 - 4 + 1), resultando no cálculo 4*10 + 6 = 46.

Portanto, a lógica por trás da questão e a compreensão da estrutura da consulta SQL levam à conclusão de que a alternativa B (46) é a correta.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

GAB B

O "n2" tem que ser igual a "9 - n1 + 1"

Isso só vai acontecer quando tivermos o par (n2, n1) igual a:

(1, 9) = 9*10 + 1 = 91

(2, 8) = 8*10 + 2 = 82

(3, 7) = 7*10 + 3 = 73

(4, 6) = 6*10 + 4 = 64

(5, 5) = 5*10 + 5 = 55

(6, 4) = 4*10 + 6 = 46

(7, 3) = 3*10 + 7 = 37

(8, 2) = 2*10 + 8 = 28

(9, 1) = 1*10 + 9 = 19

 

Ordenando, o quarto elemento será "46"

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo