Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — FCC 2026

Banco de DadosConsultas e Comandos em SQL
Código
fc142240
Banca
FCC
Órgão
MPE AP
Ano
2026
Cargo
Ana Min ( )
Um Ministério Público mantém uma tabela processos em um banco de dados MySQL aberto e em condições ideais, com as colunas id (PK), descricao e valor_causa. A equipe deseja atualizar os registros para que todos os processos com valor da causa inferior a 30000 reais tenham o valor aumentado em 10%, em virtude de uma reavaliação. O comando SQL que realiza essa atualização corretamente é UPDATE processos SET
  1. Avalor_causa = valor_causa * 1.10 TO valor_causa < 30000;
  2. Bvalor_causa = valor_causa + 10% WHERE valor_causa < 30000;
  3. Cvalor_causa = valor_causa * 1.10 WHERE valor_causa < 30000;
  4. Dvalor_causa = valor_causa * 10% TO valor_causa < 30000;
  5. Evalor_causa += valor_causa * 0.10 WHERE valor_causa < 30000;
Revelar gabarito e comentário

GabaritoC — valor_causa = valor_causa * 1.10 WHERE valor_causa < 30000;

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 MySQL: sintaxe e operadores aritméticos

Gabarito: letra C. O comando UPDATE no MySQL segue a estrutura UPDATE tabela SET coluna = expressão WHERE condição, e o aumento de 10% sobre o valor atual é feito pela expressão valor_causa = valor_causa * 1.10 — multiplicar por 1,10 equivale a somar 10% ao valor original. A alternativa C é a única que combina corretamente a cláusula SET (implícita no enunciado), a expressão aritmética válida e a cláusula WHERE com a condição pedida.

O comando UPDATE é um dos comandos DML (Data Manipulation Language) do SQL, responsável por alterar dados já existentes em uma tabela. Sua sintaxe básica é:

UPDATE nome_da_tabela
SET coluna1 = valor1, coluna2 = valor2, ...
WHERE condição;

A cláusula SET define quais colunas serão alteradas e qual o novo valor (que pode ser uma expressão aritmética, como valor_causa * 1.10). A cláusula WHERE é opcional, mas essencial quando se deseja atualizar apenas um subconjunto de registros — sem ela, todos os registros da tabela seriam alterados. No caso, a condição é valor_causa < 30000, que seleciona exatamente os processos com valor da causa inferior a 30.000 reais.

O aumento de 10% sobre um valor pode ser expresso de duas formas matematicamente equivalentes:

  • Multiplicar por 1,10: valor_causa * 1.10 (o valor original + 10% dele);

  • Somar 10% do valor: valor_causa + (valor_causa * 0.10).

A primeira forma é a mais direta e a que aparece na alternativa correta. É importante notar que o MySQL não aceita a sintaxe valor_causa += valor_causa * 0.10 (operador de atribuição composta, comum em linguagens de programação, mas não em SQL), nem valor_causa = valor_causa + 10% (o símbolo % não é um operador aritmético válido em SQL para esse fim).

A pegadinha central desta questão é a banca misturar sintaxes de outras linguagens (como TO no lugar de WHERE, ou += no lugar de =) e operadores inválidos (10% como se fosse um valor numérico) com a sintaxe correta do SQL. O candidato que conhece a estrutura do UPDATE e os operadores aritméticos do SQL elimina as alternativas erradas rapidamente.

Guarde a estrutura canônica do UPDATEUPDATE tabela SET coluna = expressão WHERE condição — e a equivalência entre * 1.10 e + 10%: é exatamente nesses dois pontos que as alternativas se dividem.

  1. 1UPDATE tabela
  2. 2SET coluna = expressão
  3. 3WHERE condição
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Usa a palavra TO no lugar de WHERE. Em SQL, a cláusula de filtro é sempre WHERE; TO não existe nesse contexto (é uma palavra usada em outras linguagens, como em FOR ... TO ...). Além disso, a expressão valor_causa * 1.10 está correta, mas a cláusula errada invalida o comando.

Alternativa B — ❌ Incorreta

A expressão valor_causa + 10% é inválida em SQL. O símbolo % não é um operador aritmético de porcentagem — em SQL, % é o operador de módulo (resto da divisão inteira). Para aumentar 10%, seria necessário valor_causa * 1.10 ou valor_causa + (valor_causa * 0.10). A cláusula WHERE está correta, mas a expressão de atribuição está errada.

Alternativa C — ✅ Correta ⟵ GABARITO

Apresenta exatamente a sintaxe correta: valor_causa = valor_causa * 1.10 (aumento de 10% sobre o valor atual) e WHERE valor_causa < 30000 (filtro para os processos com valor inferior a 30.000). A multiplicação por 1,10 é a forma canônica de aplicar um acréscimo percentual em SQL.

Alternativa D — ❌ Incorreta

Dois erros: usa TO no lugar de WHERE (mesmo problema da alternativa A) e a expressão valor_causa * 10% é inválida — % não é operador de porcentagem em SQL. Mesmo que fosse, multiplicar por 10% (0,10) reduziria o valor para 10% do original, não aumentaria em 10%.

Alternativa E — ❌ Incorreta

Usa o operador +=, que é de atribuição composta de linguagens de programação (como C, Java, Python), mas não existe em SQL. Em SQL, a atribuição é sempre feita com = simples. A expressão valor_causa += valor_causa * 0.10 seria rejeitada pelo MySQL. A cláusula WHERE está correta, mas a sintaxe de atribuição está errada.

NÃO CAIA NESSA!

A banca mistura sintaxes de outras linguagens com a do SQL. O TO (alternativas A e D) vem de linguagens como Pascal ou do comando SELECT ... INTO; o += (alternativa E) vem de C/Java/Python; e o 10% (alternativas B e D) parece intuitivo, mas % em SQL é o operador de módulo, não de porcentagem. Reconhecer a estrutura canônica UPDATE tabela SET coluna = expressão WHERE condição elimina todas as erradas de uma vez.

PEGA ESSA DICA!

Para aumentar um valor em X% em SQL, multiplique por 1 + X/100. Para diminuir, multiplique por 1 - X/100. Exemplos: aumentar 10% → * 1.10; diminuir 20% → * 0.80. Essa equivalência resolve qualquer questão de reajuste percentual em SQL.

Gabarito: letra C — a única que combina a expressão aritmética correta (valor_causa * 1.10) com a cláusula de filtro correta (WHERE valor_causa < 30000).

Link permanente: /questoes/fc142240