Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2025
Banco de Dados›Consultas 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, é:
ADELETE FROM Processo WHERE Título IN ‘%dados%’ AND Ano >= 2020 AND Ano <= 2024;
BDELETE Processo WHERE Título LIKE ‘%dados%’ AND Ano BETWEEN 2020 AND 2024;
CDELETE Processo WHERE Título LIKE ‘%dados%’ AND Ano BETWEEN (2020, 2024);
DDELETE Processo WHERE Título EQUAL ‘%dados%’ AND Ano BETWEEN 2020 AND 2024;
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 💪.
1DELETE FROM Processo
2WHERE Título LIKE '%dados%'
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.