Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2023
Banco de Dados›Consultas e Comandos em SQL
Código
vu195490
Banca
VUNESP
Órgão
Pref Pindamonhangaba
Ano
2023
Cargo
WDes (Pref Pinda)
Considere a seguinte tabela de um banco de dados relacional:
Cliente (CPF, Nome, Peso)
O comando para excluir os clientes de peso superior a 80 kg é (supondo o atributo peso expresso em kg) é:
ADELETE Peso.Cliente > 80;
BDELETE Cliente.Peso > 80;
CDELETE FROM Cliente WHERE Peso > 80;
DDELETE Peso > 80 FROM Cliente;
EDELETE FROM Cliente WHERE Peso INF 80;
Revelar gabarito e comentário▾
GabaritoC — DELETE FROM Cliente
WHERE Peso > 80;
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 no SQL: sintaxe correta para exclusão condicional
Gabarito: letra C. O comando DELETE no SQL segue a sintaxe DELETE FROM nome_da_tabela WHERE condição; — é exatamente o que a alternativa C apresenta, com a tabela Cliente e a condição Peso > 80. As demais alternativas erram na ordem das cláusulas, na ausência do FROM ou no operador de comparação, como veremos a seguir.
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_da_tabela WHERE condição;
A cláusula WHERE é opcional, mas, sem ela, todos os registros da tabela seriam excluídos. No caso da questão, queremos excluir apenas os clientes com peso superior a 80 kg, então a condição Peso > 80 é obrigatória.
A ordem das cláusulas é fixa: primeiro DELETE FROM, depois o nome da tabela, e por fim o WHERE com a condição. Não existe a forma DELETE Peso > 80 FROM Cliente nem DELETE Cliente.Peso > 80 — o DELETE não recebe a coluna diretamente, apenas a tabela.
O operador de comparação para "maior que" é > (maior). A alternativa E usa INF, que não é um operador SQL válido — o correto seria > ou >= (maior ou igual).
A pegadinha da banca está em testar se o candidato conhece a sintaxe exata do DELETE e não confunde com outros comandos ou com a ordem das cláusulas.
1DELETE FROM
2Nome da tabela
3WHERE condição
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
DELETE Peso.Cliente > 80; — Esta sintaxe está completamente errada. O comando DELETE não recebe a coluna diretamente após a palavra-chave; ele exige a cláusula FROM seguida do nome da tabela. Além disso, a condição deve vir na cláusula WHERE, não como parte da especificação da tabela. A forma correta seria DELETE FROM Cliente WHERE Peso > 80;.
Alternativa B — ❌ Incorreta
DELETE Cliente.Peso > 80; — Aqui também falta a cláusula FROM. O DELETE não aceita a notação Tabela.Coluna como alvo direto; ele precisa do FROM para indicar a tabela e do WHERE para a condição. A sintaxe correta é DELETE FROM Cliente WHERE Peso > 80;.
Alternativa C — ✅ Correta ⟵ GABARITO
DELETE FROM Cliente WHERE Peso > 80; — Esta é a sintaxe correta do comando DELETE. A cláusula FROM especifica a tabela Cliente, e a cláusula WHERE filtra os registros com Peso > 80. Exatamente o que o enunciado pede: excluir os clientes com peso superior a 80 kg.
Alternativa D — ❌ Incorreta
DELETE Peso > 80 FROM Cliente; — A ordem das cláusulas está invertida. O DELETE deve vir seguido de FROM e do nome da tabela, e a condição deve estar na cláusula WHERE após a tabela. A forma correta é DELETE FROM Cliente WHERE Peso > 80;.
Alternativa E — ❌ Incorreta
DELETE FROM Cliente WHERE Peso INF 80; — O operador INF não existe no SQL. O operador correto para "maior que" é >. A sintaxe correta seria DELETE FROM Cliente WHERE Peso > 80;.
PEGA ESSA DICA!
Para memorizar a sintaxe do DELETE, lembre-se da ordem: DELETE FROM + tabela + WHERE + condição. O DELETE nunca recebe colunas diretamente; ele age sobre linhas inteiras da tabela. Se a alternativa tiver DELETE seguido de coluna ou condição sem FROM, está errada.