Questão nº 44

Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 44)

FGV2024Analista Judiciário - TI - Banco de DadosTecnologia da Informação
Gabarito: Dver comentário ↓

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.

Figura da questão de Tecnologia da Informação


Considerando as tabelas Competidor e Disputa, descritas anteriormente, analise o comando SQL a seguir.

delete from Competidor
where (select sum(1)
       from Disputa d where d.azul = Nome)
    < (select sum(1) from Disputa d
       where d.verde = Nome)

O número de linhas removidas na execução do comando acima é:

Resposta comentada

Gabarito Alternativa D

O comando DELETE remove linhas de uma tabela. A cláusula WHERE filtra quais linhas serão removidas, avaliando uma condição para cada linha. Neste caso, a condição compara o número de vezes que um competidor aparece como "azul" versus "verde" em disputas, usando subconsultas correlacionadas com a função de agregação SUM(1) (que age como um contador de ocorrências).

  • (A) Incorreta: Esta alternativa implicaria que todos os competidores seriam removidos, o que não ocorre após a análise das condições.
  • (B) Incorreta: Esta alternativa implicaria que 4 competidores seriam removidos, o que não corresponde à análise.
  • (C) Incorreta: Esta alternativa implicaria que 2 competidores seriam removidos, o que não corresponde à análise.
  • (D) Correta: Analisando cada competidor:
    • Alice: Aparece 2 vezes como 'azul' (Alice-Bob, Alice-David) e 1 vez como 'verde' (Eve-Alice). Condição: 2 < 1 é Falso. Alice não é removida.
    • Bob: Aparece 1 vez como 'azul' (Bob-Carol) e 2 vezes como 'verde' (Alice-Bob, Frank-Bob). Condição: 1 < 2 é Verdadeiro. Bob é removido.
    • Carol: Aparece 1 vez como 'azul' (Carol-Eve) e 1 vez como 'verde' (Bob-Carol). Condição: 1 < 1 é Falso. Carol não é removida.
    • David: Aparece 1 vez como 'azul' (David-Frank) e 1 vez como 'verde' (Alice-David). Condição: 1 < 1 é Falso. David não é removido.
    • Eve: Aparece 1 vez como 'azul' (Eve-Alice) e 1 vez como 'verde' (Carol-Eve). Condição: 1 < 1 é Falso. Eve não é removida.
    • Frank: Aparece 1 vez como 'azul' (Frank-Bob) e 1 vez como 'verde' (David-Frank). Condição: 1 < 1 é Falso. Frank não é removido.
      Apenas o competidor 'Bob' satisfaz a condição, resultando em 1 linha removida. A armadilha aqui pode ser a contagem manual das ocorrências ou a interpretação do operador de comparação <.
  • (E) Incorreta: Esta alternativa implicaria que nenhum competidor seria removido, o que é falso, pois 'Bob' atende à condição.

Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho