Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2025

Banco de DadosConsultas e Comandos em SQL
Código
vu222871
Banca
VUNESP
Órgão
TJ SP
Ano
2025
Cargo
AnaSistJ ( )

Considere a seguinte tabela de um banco de dados relacional em uso pelo PDPJ-Br: Processo (Código, Título, Local, Ano)

O comando SQL para excluir os processos cujo título possua a sequência ‘dados’, relativos ao período de 2020 a 2024, é:

  1. ADELETE FROM Processo WHERE Título IN ‘%dados%’ AND Ano >= 2020 AND Ano <= 2024;
  2. BDELETE Processo WHERE Título LIKE ‘%dados%’ AND Ano BETWEEN 2020 AND 2024;
  3. CDELETE Processo WHERE Título LIKE ‘%dados%’ AND Ano BETWEEN (2020, 2024);
  4. DDELETE Processo WHERE Título EQUAL ‘%dados%’ AND Ano BETWEEN 2020 AND 2024;
  5. EDELETE FROM Processo WHERE Título LIKE ‘%dados%’ AND Ano BETWEEN 2020 AND 2024;
Revelar gabarito e comentário

GabaritoE — DELETE FROM Processo WHERE Título LIKE ‘%dados%’ AND Ano BETWEEN 2020 AND 2024;

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”.

Comando DELETE e filtros de texto e intervalo no SQL

Gabarito: letra E. O comando correto usa DELETE FROM Processo com a cláusula WHERE combinando Título LIKE '%dados%' (para localizar a sequência 'dados' em qualquer parte do título) e Ano BETWEEN 2020 AND 2024 (para filtrar o período). As demais alternativas erram na sintaxe do LIKE, no uso de IN ou EQUAL, ou na forma do BETWEEN.

O comando DELETE é um comando da DML (Data Manipulation Language), responsável por remover registros de uma tabela. Sua sintaxe básica é DELETE FROM nome_tabela WHERE condição;. A cláusula WHERE é essencial para especificar quais linhas serão excluídas; sem ela, todas as linhas da tabela seriam removidas. No enunciado, precisamos excluir processos cujo título contenha a sequência 'dados' e cujo ano esteja entre 2020 e 2024.

Para buscar um padrão de texto, usamos o operador LIKE, que permite curingas: % representa qualquer sequência de caracteres (inclusive vazia) e _ representa um único caractere. Assim, '%dados%' casa com qualquer título que tenha 'dados' em qualquer posição. O operador IN é usado para comparar um valor com uma lista de valores explícitos (ex.: Ano IN (2020, 2021)), não para padrões de texto. Já EQUAL não é um operador SQL padrão; a comparação de igualdade é feita com =.

Para filtrar um intervalo de valores, usamos BETWEEN valor1 AND valor2, que é inclusivo (equivale a >= valor1 AND <= valor2). A sintaxe correta é BETWEEN 2020 AND 2024, sem parênteses envolvendo os dois valores. O uso de parênteses como BETWEEN (2020, 2024) é inválido em SQL padrão.

NÃO CAIA NESSA!

A banca adora trocar o operador LIKE por IN ou EQUAL para confundir. Lembre-se: LIKE é para padrões de texto com curingas (% e _), enquanto IN é para listas de valores exatos e EQUAL nem existe em SQL. Além disso, BETWEEN não usa parênteses com vírgula — a forma correta é BETWEEN valor1 AND valor2. Com treino, você enxerga essas trocas de longe 💪.

  1. 1DELETE FROM Processo
  2. 2WHERE Título LIKE '%dados%'
  3. 3AND Ano BETWEEN 2020 AND 2024
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Usa Título IN '%dados%'. O operador IN compara um valor com uma lista de valores explícitos, não com padrões de texto. Para buscar a sequência 'dados' em qualquer parte do título, o correto é LIKE '%dados%'. Além disso, a sintaxe IN '%dados%' nem sequer é válida — IN exige uma lista entre parênteses, como IN ('valor1', 'valor2').

Alternativa B — ❌ Incorreta

A sintaxe DELETE Processo está incorreta. O comando DELETE exige a cláusula FROM antes do nome da tabela: DELETE FROM Processo. Sem o FROM, o comando não é válido em SQL padrão. O restante da sintaxe (LIKE '%dados%' e BETWEEN 2020 AND 2024) está correto, mas o erro no DELETE invalida a alternativa.

Alternativa C — ❌ Incorreta

A sintaxe BETWEEN (2020, 2024) está incorreta. O operador BETWEEN não usa parênteses com vírgula; a forma correta é BETWEEN 2020 AND 2024. Além disso, o comando DELETE Processo também está sem o FROM, o que torna a alternativa duplamente errada.

Alternativa D — ❌ Incorreta

Usa Título EQUAL '%dados%'. O operador EQUAL não existe em SQL padrão; a comparação de igualdade é feita com =. Para buscar padrões de texto, o correto é LIKE '%dados%'. O restante da sintaxe (DELETE FROM e BETWEEN 2020 AND 2024) está correto, mas o erro no operador invalida a alternativa.

Alternativa E — ✅ Correta ⟵ GABARITO

A sintaxe está completa e correta: DELETE FROM Processo (com o FROM obrigatório), WHERE Título LIKE '%dados%' (para buscar a sequência 'dados' em qualquer posição do título) e Ano BETWEEN 2020 AND 2024 (para filtrar o período de forma inclusiva). Essa é a única alternativa que combina todos os elementos corretamente.

Gabarito: letra E

Link permanente: /questoes/vu222871