Questão FC90505
Considerando a linguagem SQL, julgue o item subsequente. Considere que, em certa loja, os pedidos realizados por vendedores sejam salvos em uma tabela SQL pedidos, que as informaçõ
Linguagem SQL
CEBRASPE (CESPE) · 2024
Considere que, em certa loja, os pedidos realizados por vendedores sejam salvos em uma tabela SQL pedidos, que as informações dos vendedores dessa loja sejam registradas na tabela vendedores e que cada um desses vendedores possua um código que é salvo na variável codigo_vendedor. Nessa situação hipotética, a execução do comando a seguir permitirá apagar todos os registros de pedidos realizados por vendedores-fantasmas (operação caça-fantasma).
DELETE FROM pedidos
WHERE NOT EXIST
(SELECT vendedor
FROM vendedores
WHERE codigo_vendedor = pedido.codigo_vendedor);
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
Comentário: A assertiva está correta. O comando SQL apresentado realiza uma "operação caça-fantasma", ou seja, remove da tabela pedidos todos os registros cujos vendedores não estão presentes na tabela vendedores.
Explicação
- DELETE FROM pedidos: Remove registros da tabela pedidos.
- WHERE NOT EXISTS (SELECT vendedor FROM vendedores WHERE codigo_vendedor = pedido.codigo_vendedor);
- A subconsulta verifica se existe um correspondente do codigo_vendedor da tabela pedidos na tabela vendedores.
- Se não existir, significa que o vendedor não está cadastrado na loja (ou foi removido).
- Assim, os pedidos feitos por esse vendedor fantasma serão excluídos.
Essa técnica é útil para manter a integridade do banco de dados, eliminando registros órfãos e garantindo que apenas pedidos de vendedores legítimos permaneçam na base de dados.
Conteúdo do catálogo FC Concursos · Atualizado em