Questão FC369443
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 tabe
Linguagem SQL
FGV · 2024
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 |
Considerando as tabelas Competidor e Disputa, descritas anteriormente, analise o comando SQL a seguir.
select nome
from Competidor C
where not exists (select *
from Disputa D
where D.azul = C.nome)
or not exists (select *
from Disputa D
where D.verde = C.nome)
A execução do comando acima produziria somente a lista completa dos competidores que:
- participaram em disputas com camisas das duas cores;
- nunca participaram em disputas com camisa verde;
- nunca participaram em disputas com camisa azul;
- nas disputas em que participaram, usaram sempre camisas da mesma cor;
- nunca participaram em disputas.
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
O comando seleciona competidores para os quais vale pelo menos uma das duas condições: não existem registros na coluna Azul da tabela Disputa com seu nome, ou não existem registros na coluna Verde com seu nome.
Em SQL isso é expresso por not exists ... or not exists. Equivalentemente: \( \neg\exists(\text{aparições como azul}) \lor \neg\exists(\text{aparições como verde}) \).
Se um competidor nunca apareceu como Azul, então todas as suas participações (se houver) foram como Verde. Se nunca apareceu como Verde, todas foram como Azul.
Logo, o resultado reúne exatamente os competidores que, nas disputas em que participaram, usaram sempre camisas da mesma cor (incluindo quem nunca participou, que satisfaz a condição por ausência de aparições).
Conteúdo do catálogo FC Concursos · Atualizado em