Voltar

Considere uma tabela de bancos de dados com dez registros, e apenas uma colun...

Considere uma tabela de bancos de dados com dez registros, e apenas uma coluna cujos valores são 1, 2, 2, 3, 3, 3, 4, 4, 4, 4. Requisitado para remover os registros com valores repetidos dessa tabe...


publicidade
Considere uma tabela de bancos de dados com dez registros, e apenas uma coluna cujos valores são 1, 2, 2, 3, 3, 3, 4, 4, 4, 4. Requisitado para remover os registros com valores repetidos dessa tabela, um programador produziu um script com dois comandos.
delete from exemplo where exists (select * from exemplo e1 where exemplo.x = e1.x) select count(distinct x) from exemplo
Na execução desse script, o número produzido no segundo comando foi:
Analisando...
publicidade

🚀 Desbloqueie a explicação completa

Veja comentários detalhados e resoluções exclusivas para entender o gabarito desta questão.

Criar conta grátis
  • Equipe Gabarite
    Equipe Gabarite EQUIPE
    02/11/2026 • 16:02
    Vamos analisar essa questão que trata de manipulação de dados em banco de dados, especificamente remoção de registros duplicados. A tabela tem 10 registros com os seguintes valores na coluna x: 1, 2, 2, 3, 3, 3, 4, 4, 4, 4.
    O enunciado diz que o programador tentou remover os registros com valores repetidos usando o comando delete with where exists que verifica se existe um registro com o mesmo valor x na tabela.
    O comando delete from exemplo where exists (select * from exemplo e1 where exemplo.x = e1.x) vai deletar todos os registros onde existe pelo menos um outro registro com o mesmo valor na tabela. No nosso caso, todos os valores aparecem pelo menos uma vez, exceto o valor 1 que aparece uma única vez, mas ao olhar o filtro where exists, ele vai incluir também o registro atual, então essa condição sempre é verdadeira para todos os registros, incluindo os únicos.
    Em outras palavras, a cláusula where exists (select * from exemplo e1 where exemplo.x = e1.x) será verdadeira para todos, porque para cada registro existe ele mesmo, então todos os registros serão deletados.
    Assim, depois do delete, a tabela ficará vazia, e o select count(distinct x) from exemplo retornará 0. A resposta correta é a alternativa a) 0.
publicidade
🍪

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.