SóProvas


ID
2619832
Banca
FGV
Órgão
Câmara de Salvador - BA
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Observe o script a seguir, no âmbito do MS SQL Server.

create table X(a int identity, b int)
insert into X
select top 10000 NULL from T t1, T t2
alter table X drop column b
select * from X

Dado que existe uma tabela T, com três colunas e 53 registros, a execução desse script gera um resultado contendo:

Alternativas
Comentários
  • Porque exibe apenas uma coluna está claro, mas como o select analisa duas colunas e cada uma possui 53 registros, 53 x 53 = 2.809, marquei a letra B mas confesso que não entendi. Qual a relação desse cálculo com a resposta? O que ocorre no "select top 10000 null"?

  • Quando você faz um select com o from para duas tabelas, sem usar join, o resultado é um produto cartesiano das duas. Por isso 53 * 53 = 2.809. O Select top vai pegar os 10.000 primeiros registros, como não possui 10.000, vai trazer os 2.809.

    OBS: O NULL serve apenas para não obter nenhum campo específico da tabela, o resultado será 2.809 linhas com NULL.

  • SELECT TOP number |percent column_name(s)

    FROM table_name

    WHERE condition;