Questão FC369442
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 os três comandos SQL a seguir.
I. select C.nome
from Competidor C
where exists (select * from Disputa D
where D.azul = C.nome)
and exists (select * from Disputa D
where D.verde = C.nome)
II. select C.nome
from Competidor C
where exists (select * from Disputa D
where D.azul = C.nome
or D.verde = C.nome)
III. select C.nome
from Competidor C
where (select count(*) from Disputa D
where D.azul = C.nome)
+ (select count(*) from Disputa D
where D.verde = C.nome) > 1
O resultado
| Nome |
| A |
| B |
é obtido somente no(s) comando(s):
- I;
- II;
- III;
- I e II;
- II e III.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
O comando usa duas subconsultas com exists para exigir que cada competidor de Competidor apareça pelo menos uma vez como Azul e pelo menos uma vez como Verde. Em termos lógicos: \( \exists(\text{Disputa.azul}=C.nome)\ \land\ \exists(\text{Disputa.verde}=C.nome)\).
Isso não conta ocorrências, apenas verifica existência em ambas as posições. Assim, basta uma linha em que o nome esteja em azul e outra (pode ser a mesma ou diferente) em verde para ser incluído.
Na instância dada, A aparece como Azul (linha 1) e como Verde (linhas 2,3,5), e B aparece como Azul (linha 3) e como Verde (linha 1). Portanto, apenas A e B satisfazem ambas as condições e são retornados.
Conteúdo do catálogo FC Concursos · Atualizado em