Analise o comando SQL mostrado a seguir juntamente com a in...

Próximas questões
Com base no mesmo assunto
Q738857 Banco de Dados

Analise o comando SQL mostrado a seguir juntamente com a instância da tabela C.


delete from C

where exists

(select * from C c1

where c1.a=C.a and c1.b=C.b)

a b

12 14

14 12

12 14

14 12


Assinale a opção que apresenta o número de registros na instância da tabela C após a execução desse comando.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: Letra A - zero registros.

O tema da questão envolve o entendimento do comando DELETE no SQL, especificamente quando combinado com a cláusula WHERE EXISTS. A cláusula EXISTS é utilizada para verificar a existência de alguma condição em uma subconsulta (subquery). Neste caso, o comando verifica se existem linhas dentro da própria tabela que satisfazem um critério específico, e se existirem, essas linhas serão deletadas.

A condição da subconsulta compara valores das colunas a e b de uma linha da tabela com valores das mesmas colunas de todas as linhas da tabela, incluindo ela mesma. Dada a natureza da condição c1.a = C.a AND c1.b = C.b, que sempre encontrará pelo menos a própria linha na comparação, a cláusula EXISTS sempre retornará verdadeiro para todas as linhas da tabela.

Logo, todas as linhas satisfazem a condição, e o comando DELETE irá apagar todas as linhas da tabela C. Portanto, após a execução do comando, o número de registros na tabela C será zero, o que justifica a alternativa A como 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

Considerei essa questão mais de português do que de banco de dados.

O comando interno traz todos os dados que possuem em C e C1 (referencia para a mesma tabela).

Como traz todos os dados, a tabela C é toda deletada.

Após a execução, ficará vazia.

Clique para visualizar este comentário

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