

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Quando referenciadas, considere as tabelas relacionais Competidor e Disputa, cujas estruturas e instâncias são descritas abaixo. Todas as colunas são definidas como strings.
A tabela Disputa contém as disputas realizadas entre competidores que aparecem na tabela Competidor. Em cada disputa há dois competidores, um com camisa azul e outro com camisa verde.
Competidor
Nome |
A |
B |
C |
D |
E |
F |
Disputa
Azul | Verde |
A | B |
C | A |
B | A |
C | E |
F | A |
F | D |
João tem pouca experiência com SQL, mas precisa de uma consulta que exiba os competidores que têm o mesmo número de disputas com as camisas azul e verde. João escreveu três scripts, utilizando as tabelas Competidor e Disputa, como definidas anteriormente, e tentou a sorte.
select distinct c.nome
from Competidor c, Disputa d
group by c.nome
having count(distinct d.azul)
= count(distinct d.verde)
select c.nome
from Competidor c
where (select sum(1)
from Disputa d where d.azul = c.nome)
= (select sum(1)
from Disputa d where d.verde = c.nome)
select distinct c.nome
from Competidor c, Disputa d
where (select sum(1) where d.azul = c.nome)
= (select sum(1) where d.verde = c.nome)
Dado que a resposta correta deve exibir somente o competidor B, conclui-se que:
nenhum dos scripts funciona;
somente o primeiro script funciona;
somente o segundo script funciona;
somente o terceiro script funciona;
os três scripts funcionam.