Pular para o conteúdo principal

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

Banco de DadosConsultas 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 é:

  1. ASET Aluno.Curso = Física WHERE Número = 247;
  2. BSET Aluno Curso = Física FOR Número = 247;
  3. CUPDATE Aluno SET Curso = Física WHERE Número = 247;
  4. DUPDATE Aluno Curso = Física FOR Número = 247;
  5. 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.

  1. 1UPDATE tabela
  2. 2SET coluna = valor
  3. 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.

Gabarito: letra C

Link permanente: /questoes/vu212061