Questão nº 64

Questão de Tecnologia da Informação · FGV MP-SC 2022 (nº 64)

FGV2022Analista em Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

Maria trabalha com um banco de dados onde há uma tabela T com linhas repetidas. Ela precisa remover as repetições indesejadas, porém mantendo as linhas sem repetição e apenas uma linha de cada conjunto de linhas repetidas, como mostrado a seguir.
Figura da questão de Tecnologia da Informação

Maria optou por usar o comando abaixo para realizar a tarefa.

delete from T where
exists (select * FROM T t1
        where T.A = t1.A and T.B = t1.B
          and T.C = t1.C)

Na execução desse comando, serão removidas:

Resposta comentada

Gabarito Alternativa E

O comando DELETE com subconsulta correlacionada compara cada linha da tabela T com todas as linhas da própria tabela (incluindo ela mesma). Como a condição T.A = t1.A AND T.B = t1.B AND T.C = t1.C é sempre verdadeira para a própria linha (pois ela é igual a si mesma), a subconsulta retorna pelo menos uma linha para toda linha da tabela. Portanto, o EXISTS é verdadeiro para todas as linhas, e o comando apaga tudo.

  • (A) Incorreta: A condição não isola conjuntos repetidos; ela encontra a própria linha como correspondência, então não remove apenas uma por grupo.
  • (B) Incorreta: Não há lógica de paridade (par/ímpar) na consulta; a subconsulta não filtra por t1.ctid ou qualquer chave que exclua a linha atual.
  • (C) Incorreta: Mesmo erro da B: a subconsulta não usa nenhum critério para diferenciar linhas repetidas, então não há contagem n envolvida.
  • (D) Incorreta: Linhas únicas também são apagadas, pois a subconsulta encontra a própria linha como correspondência (a linha é igual a si mesma).
  • (E) Correta: Como a subconsulta correlacionada compara cada linha com ela mesma (sem excluir a linha atual), EXISTS é sempre verdadeiro, apagando todas as linhas da tabela, sem exceção. A pegadinha é que, para remover duplicatas corretamente, seria necessário usar t1.ctid <> T.ctid (ou uma chave única) na subconsulta, o que a banca omitiu de propósito.

Fonte: FGV MP-SC 2022 Analista em Tecnologia da Informação (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