SQL - Comando DELETE com condição de intervalo
Gabarito: letra D. O comando DELETE FROM PROJETO WHERE PRAZO_EXECUCAO_DIAS > 60 AND PRAZO_EXECUCAO_DIAS < 120 atende exatamente ao requisito: excluir registros cujo campo PRAZO_EXECUCAO_DIAS seja superior a 60 (estritamente maior) e inferior a 120 (estritamente menor). A sintaxe está correta e a condição lógica representa o intervalo aberto (60,120).
A banca testa o conhecimento da sintaxe do comando DELETE e o uso correto dos operadores de comparação e lógicos. As alternativas erradas misturam sintaxe inválida (DELETE *, DELETE ALL), operadores incorretos (OR, BETWEEN com inclusão de extremos, IN para valores pontuais) ou condições logicamente impossíveis.
Alternativa A — ❌ Incorreta
Apresenta DELETE ALL FROM PROJETO, sintaxe inválida – o correto é DELETE FROM. Além disso, a condição WHERE PRAZO_EXECUCAO_DIAS < 60 AND PRAZO_EXECUCAO_DIAS > 120 é logicamente impossível (nenhum número é ao mesmo tempo menor que 60 e maior que 120) e excluiria o complemento desejado.
Alternativa B — ❌ Incorreta
Usa IN (60, 120), que restringe a exclusão apenas aos valores exatos 60 e 120, não ao intervalo (60,120). Também deixa de fora valores como 61, 70, 119.
Alternativa C — ❌ Incorreta
Emprega DELETE * FROM PROJETO – o asterisco é desnecessário e incorreto após DELETE; a sintaxe correta é DELETE FROM. A condição BETWEEN 60 AND 120 inclui os extremos (60 e 120), enquanto o enunciado pede superior a 60 e inferior a 120, ou seja, intervalo aberto.
Alternativa D — ✅ Correta ⟵ GABARITO
Sintaxe perfeita: DELETE FROM PROJETO WHERE PRAZO_EXECUCAO_DIAS > 60 AND PRAZO_EXECUCAO_DIAS < 120. A condição representa exatamente o intervalo (60,120), respeitando os operadores de comparação estritos (> e <).
Alternativa E — ❌ Incorreta
DELETE * FROM PROJETO – asterisco incorreto. A condição usa OR: >= 60 OR <= 120 abrange qualquer número (por exemplo, 0 atende <=120, 200 atende >=60), resultando na exclusão de todos os registros ou de faixa muito maior que a pedida. Além disso, inclui os extremos 60 e 120, contrariando a exigência de exclusão apenas entre (60,120).
Gabarito: letra D.