Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2024
Banco de Dados›Consultas e Comandos em SQL
Código
vu212061
Banca
VUNESP
Órgão
Pref Santo André
Ano
2024
Cargo
ATI ( )
Considere a seguinte tabela de um banco de dados relacional:
Aluno (Número, Nome, Curso)
O comando SQL para transferir o aluno de número 247 para o curso de Física é:
ASET Aluno.Curso = Física WHERE Número = 247;
BSET Aluno Curso = Física FOR Número = 247;
CUPDATE Aluno SET Curso = Física WHERE Número = 247;
DUPDATE Aluno Curso = Física FOR Número = 247;
EUPDATE Aluno.Curso = Física, Aluno.Curso = 247;
Revelar gabarito e comentário▾
GabaritoC — UPDATE Aluno
SET Curso = Física
WHERE Número = 247;
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 UPDATE no SQL: sintaxe de atualização de registros
Gabarito: letra C. O comando UPDATE é o responsável por alterar dados já existentes em uma tabela, e sua sintaxe correta exige a cláusula SET para indicar a coluna e o novo valor, seguida da cláusula WHERE para filtrar quais registros serão afetados. As demais alternativas erram ao usar palavras-chave inexistentes (SET sozinho, FOR) ou ao inverter a ordem das cláusulas.
O comando UPDATE é um dos quatro comandos básicos da sublinguagem DML (Data Manipulation Language), que lida com os dados dentro das tabelas. Enquanto o INSERT adiciona novos registros e o DELETE remove registros existentes, o UPDATE modifica o valor de uma ou mais colunas em registros já presentes. A sintaxe padrão do SQL é:
UPDATE nome_da_tabela
SET coluna1 = valor1, coluna2 = valor2, ...
WHERE condição;
A cláusula SET é obrigatória e define quais colunas serão alteradas e para quais valores. A cláusula WHERE é opcional, mas extremamente importante: sem ela, o comando UPDATE afetará todas as linhas da tabela. No caso do enunciado, queremos alterar apenas o registro do aluno de número 247, então o WHERE Número = 247 é essencial para restringir a atualização a esse aluno específico.
Vamos aplicar isso ao exemplo: a tabela Aluno tem as colunas Número, Nome e Curso. Para transferir o aluno de número 247 para o curso de Física, precisamos atualizar a coluna Curso para o valor 'Física' apenas na linha onde Número = 247. O comando correto é:
UPDATE Aluno
SET Curso = 'Física'
WHERE Número = 247;
Observe que o valor textual Física deve estar entre aspas simples, pois é uma string. A alternativa C apresenta exatamente essa estrutura, sem as aspas, mas a banca considerou correta mesmo assim — em provas, a ausência de aspas em valores textuais é um erro comum, mas aqui a questão focou apenas na estrutura do comando.
A pegadinha desta questão está em confundir a sintaxe do UPDATE com a de outros comandos ou com estruturas inventadas. As alternativas A e B usam SET como se fosse um comando autônomo, o que não existe em SQL — SET é uma cláusula do UPDATE. As alternativas B e D usam FOR no lugar de WHERE, e FOR não é uma cláusula válida para filtrar registros em um UPDATE. A alternativa E mistura tudo, tentando atribuir valores de forma incorreta.
Guarde a estrutura fundamental: UPDATE + nome da tabela + SET + coluna = valor + WHERE + condição. É nessa sequência que as alternativas se dividem — as erradas trocam ou omitem uma dessas partes.
1UPDATE tabela
2SET coluna = valor
3WHERE condição
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
O comando começa com SET, mas SET não é um comando autônomo em SQL. Ele é uma cláusula que pertence ao comando UPDATE. Faltou o UPDATE e a indicação da tabela (Aluno). A estrutura correta seria UPDATE Aluno SET Curso = 'Física' WHERE Número = 247;.
Alternativa B — ❌ Incorreta
Além de começar com SET (mesmo erro da alternativa A), usa FOR no lugar de WHERE. A cláusula FOR não existe no SQL padrão para filtrar registros em comandos de atualização. O correto é WHERE.
Alternativa C — ✅ Correta ⟵ GABARITO
Esta é a sintaxe correta do comando UPDATE: UPDATE Aluno indica a tabela, SET Curso = Física define a coluna e o novo valor, e WHERE Número = 247 restringe a atualização ao aluno específico. A estrutura está perfeita.
Alternativa D — ❌ Incorreta
Começa com UPDATE e indica a tabela, mas usa FOR no lugar de WHERE. A cláusula FOR não é válida para filtrar registros em um UPDATE. O correto é WHERE Número = 247.
Alternativa E — ❌ Incorreta
A sintaxe está completamente errada. UPDATE Aluno.Curso = Física tenta usar a notação de atribuição diretamente após o UPDATE, o que não é permitido. Além disso, a segunda linha Aluno.Curso = 247 não faz sentido, pois tenta atribuir o número 247 à coluna Curso. O comando correto exige a cláusula SET e a cláusula WHERE.
NÃO CAIA NESSA!
A banca explora a confusão entre a cláusula SET (que pertence ao UPDATE) e um comando autônomo, além de inventar a cláusula FOR para substituir o WHERE. Candidatos que decoram a sintaxe sem entender a função de cada parte caem nessas armadilhas. Lembre-se: SET sempre vem depois do UPDATE e do nome da tabela, e WHERE é o filtro que define quais linhas serão alteradas.
PEGA ESSA DICA!
Para questões de sintaxe SQL, monte um checklist mental: 1) o comando correto (UPDATE, INSERT, DELETE, SELECT); 2) a tabela alvo; 3) a cláusula de atribuição (SET para UPDATE, VALUES para INSERT); 4) a cláusula de filtro (WHERE). Se algum desses elementos estiver ausente ou trocado, a alternativa está errada.