Imagem de fundo

Num banco de dados relacional, considere a tabela...

Num banco de dados relacional, considere a tabela Vencedores, cuja instância é exibida a seguir, com duas colunas, Tenista e Torneio, que representam alguns torneios que já foram vencidos por alguns tenistas.


Tenista

Torneio

Roger Federer

Australian Open

Roger Federer

Roland Garros

Roger Federer

Wimbledon

Roger Federer

US Open

Pete Sampras

US Open

Pete Sampras

Wimbledon

Pete Sampras

Australian Open

Bjorn Borg

Roland Garros

Bjorn Borg

Wimbledon


Maria precisa escrever um comando SQL que liste os tenistas que venceram todos os torneios mencionados na coluna Torneio. O comando deve valer para qualquer instância válida da tabela, que pode conter diferentes tenistas e diferentes torneios.


Assinale o comando que Maria deve usar.


A

select distinct Tenista from Vencedores v1

where v1.Torneio in (select Torneio from Vencedores)


B

select distinct Tenista from Vencedores v1

where exists(

select * from Vencedores v2

where v1.Torneio = v1.Torneio

and v1.Tenista = v2.Tenista

and v1 <> v2))


C

select distinct Tenista from Vencedores v1

where exists (

select * from Vencedores v2

where v1.Torneio = v1.Torneio

and v1.Tenista <> v2.Tenista )


D

select distinct Tenista from Vencedores v1

where for all (

select * from Vencedores v2

where exists (

select * from Vencedores v3

where v1.Tenista = v2.Tenista))


E

select distinct Tenista from Vencedores v1

where not exists(

select * from Vencedores v2

where not exists (

select * from Vencedores v3

where v2.Torneio = v3.Torneio

and v1.Tenista = v3.Tenista))