Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — FGV 2022

Banco de DadosConsultas e Comandos em SQL
Código
fg152870
Banca
FGV
Órgão
TCU
Ano
2022
Cargo
AUFC ( )

Na questão abaixo, considere as tabelas de banco de dados T, TX e DUAL, exibidas com suas respectivas instâncias a seguir.

 

T

sequenciacaracteristica
1

23987

2

9845

3

NULL

4

40983

6

48750

7

NULL

8

NULL

10

48750

12

48750

 

TX

sequencia

caracteristica

2

9845

3

998034

4

50932

5

24390

6

48750

6

50296

7

NULL

8

998746

9

32746

9

NULL

9

22798

 

DUAL

x
NULL
 

Nas colunas das três tabelas, o tipo é o de número inteiro. Em todos os comandos SQL, considera-se o NULL como um valor desconhecido (unknown).

 

Considere que é preciso atualizar os dados da tabela T a partir dos dados da tabela TX, ambas definidas anteriormente. A consolidação é feita por meio da alteração na tabela T a partir de registros de TX.

 

O comando SQL utilizado nessa atualização é exibido a seguir.


update T
set caracteristica =
       (select max(caracteristica) x from TX tx
         where tx.sequencia = t.sequencia
               and not (tx.caracteristica is null))
where
( exists
    (select * from TX tx
    where tx.sequencia = t.sequencia
         and not (tx.caracteristica is null))
   and
   ( t.caracteristica is null
    or
     t.caracteristica <
       (select max(caracteristica) x
        from TX tx
        where tx.sequencia = t.sequencia
            and not (tx.caracteristica is null))
    )
)

 

O número de registros da tabela T afetados pela execução do comando SQL acima é:

  1. Azero;
  2. Btrês;
  3. Cquatro;
  4. Dseis;
  5. Enove.
Revelar gabarito e comentário

GabaritoC — quatro;

Link permanente: /questoes/fg152870