Pular para o conteúdo principal

Questão de Arquitetura de Software — Banco de Dados — FUNDATEC 2023

Arquitetura de SoftwareBanco de Dados
Código
qq890347
Banca
FUNDATEC
Órgão
CAU-RS
Ano
2023
Nível
Superior
Cargo
Analista Superior Desenvolvimento de TIC
Qual dos comandos SQL abaixo poderia ser utilizado para excluir apenas os registros da Tabela PROJETO cujo campo PRAZO_EXECUCAO_DIAS seja superior a 60 e inferior a 120?
  1. ADELETE ALL FROM PROJETOWHERE PRAZO_EXECUCAO_DIAS < 60AND PRAZO_EXECUCAO_DIAS > 120
  2. BDELETE FROM PROJETOWHERE PRAZO_EXECUCAO_DIAS IN (60, 120)
  3. CDELETE * FROM PROJETOWHERE PRAZO_EXECUCAO_DIAS BETWEEN 60 AND 120
  4. DDELETE FROM PROJETOWHERE PRAZO_EXECUCAO_DIAS > 60AND PRAZO_EXECUCAO_DIAS < 120
  5. EDELETE * FROM PROJETOWHERE PRAZO_EXECUCAO_DIAS >= 60OR PRAZO_EXECUCAO_DIAS <= 120
Revelar gabarito e comentário

GabaritoD — DELETE FROM PROJETO WHERE PRAZO_EXECUCAO_DIAS > 60 AND PRAZO_EXECUCAO_DIAS < 120

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

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.

Link permanente: /questoes/qq890347