FC ConcursosFC Concursos

Questão FC369441

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 *

from competidor c, disputa d

where (c.nome = d.azul and c.nome = d.verde)

   or (c.nome = d.verde and c.nome = d.azul)

 

O número de linhas produzidas pela execução desse comando, sem contar a linha de títulos, é:

  1. 0;
  2. 1;
  3. 6;
  4. 18;
  5. 36.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

A consulta gera inicialmente o produto cartesiano entre Competidor (6 linhas) e Disputa (6 linhas), totalizando \(6 \times 6 = 36\) combinações.

A cláusula WHERE exige que c.nome seja simultaneamente igual a d.azul e a d.verde na mesma linha (expressões do tipo c.nome = d.azul AND c.nome = d.verde). A segunda parte é simétrica e não acrescenta casos novos.

Como cada registro de Disputa registra dois competidores distintos (um azul e um verde), não existe situação em que um mesmo nome coincida com ambas as colunas na mesma linha. Logo, nenhuma combinação do produto cartesiano satisfaz a condição.

Portanto, a consulta retorna exatamente 0 linhas.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo