Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — FGV 2025

Banco de DadosConsultas e Comandos em SQL
Código
fg169066
Banca
FGV
Órgão
TRT 24
Ano
2025
Cargo
TJ TRT24
Um banco de dados de uma loja de ferramentas será criado utilizando comandos de SQL (Structured Query Language), conforme a seguir.   <1> CREATE TABLE ferramentas (id INTEGER PRIMARY KEY, nome TEXT, estoque INTEGER, valor FLOAT); <2> INSERT INTO ferramentas VALUES(1, 'Martelo', 40, 7.5); <3> INSERT INTO ferramentas VALUES(2, 'Chave de fenda', 100, 5.2); <4> INSERT INTO ferramentas VALUES(3, 'Tesoura', 230, 6.3); <5> INSERT INTO ferramentas VALUES(4, 'Furadeira', 145, 120.8); <6> INSERT INTO ferramentas VALUES(5, 'Lixa', 156, 3.7); <7> INSERT INTO ferramentas VALUES(6, 'Alicate', 581, 4.5);   Após a execução dos comandos acima (linhas de <1> a <7>), nessa ordem, foram executados os comandos abaixo, nessa ordem:   <8> SELECT * FROM ferramentas ORDER BY nome; <9> DELETE FROM ferramentas WHERE valor > 100 ; <10> SELECT SUM(estoque) FROM ferramentas WHERE valor > 5;   O número retornado pelo comando na linha <10> é
  1. A370.
  2. B581.
  3. C737.
  4. D1107.
  5. E1252.
Revelar gabarito e comentário

GabaritoA — 370.

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”.

Resolução

Gabarito: letra A — a conta chega a 370 — alternativa A.

A ideia por trás

SQL é a linguagem para manipular bancos de dados relacionais. Comandos como CREATE TABLE definem a estrutura, INSERT adiciona linhas, SELECT consulta dados, e DELETE remove linhas. A ordem de execução importa: cada comando altera o estado da tabela, e os comandos seguintes operam sobre o estado atual.

A função SUM é uma função de agregação que soma os valores de uma coluna para todas as linhas que atendem à condição do WHERE. A condição valor > 5 é estritamente maior que 5, então valores iguais a 5 ou menores ficam de fora. O comando DELETE remove permanentemente as linhas que satisfazem sua condição, e o SELECT com ORDER BY apenas ordena a exibição, sem alterar a tabela.

Esta questão testa o efeito cumulativo dos comandos: o DELETE remove a Furadeira, e o filtro valor > 5 exclui a Lixa e o Alicate. É preciso acompanhar o estado da tabela passo a passo.

O que a questão dá

  • tabela ferramentas com colunas id, nome, estoque, valor

  • 6 linhas inseridas com valores específicos

  • comando SELECT com ORDER BY na linha <8>

  • comando DELETE com WHERE valor > 100 na linha <9>

  • comando SELECT SUM(estoque) com WHERE valor > 5 na linha <10>

O que queremos: o número retornado pelo comando SELECT SUM(estoque) da linha <10>

Passo 1 — Listar as linhas iniciais da tabela

Antes de qualquer alteração, precisamos saber quais linhas existem. O CREATE TABLE e os INSERTs criam a tabela com seis linhas: Martelo, Chave de fenda, Tesoura, Furadeira, Lixa e Alicate, cada uma com seu estoque e valor.

6 linhas\boxed{6\ \text{linhas}}
NÃO CAIA NESSA!

Esquecer que a Furadeira existe e tem valor alto.

Passo 2 — Aplicar o DELETE da linha <9>

O comando DELETE remove linhas da tabela. A condição valor > 100 seleciona apenas a Furadeira, que tem valor 120,8. Após esse comando, a Furadeira não existe mais na tabela.

Por que esta fórmula: O DELETE é um comando de modificação de dados; ele remove permanentemente as linhas que atendem à condição do WHERE.

Furadeira removida

NÃO CAIA NESSA!

Esquecer que o DELETE remove a linha, e continuar considerando a Furadeira nos cálculos seguintes.

Passo 3 — Identificar as linhas que atendem ao filtro valor > 5

O comando SELECT SUM(estoque) da linha <10> soma os estoques apenas das linhas que satisfazem a condição valor > 5. Precisamos verificar cada linha restante: Martelo (7,5), Chave de fenda (5,2), Tesoura (6,3), Lixa (3,7) e Alicate (4,5). As que têm valor maior que 5 são Martelo, Chave de fenda e Tesoura.

Por que esta fórmula: A condição é estritamente maior que 5, então valores iguais a 5 ou menores são excluídos.

Martelo,ChavedefendaeTesoura\boxed{\text{Martelo}, \text{Chave} \text{de} \text{fenda} \text{e} \text{Tesoura}}
NÃO CAIA NESSA!

Incluir a Lixa (3,7) ou o Alicate (4,5) por engano, pois seus valores são menores que 5.

Passo 4 — Somar os estoques das linhas selecionadas

Agora que sabemos quais linhas entram na soma, basta somar os valores da coluna estoque: Martelo tem 40, Chave de fenda tem 100 e Tesoura tem 230.

Por que esta fórmula: A função SUM soma os valores da coluna especificada para todas as linhas que passaram pelo filtro.

S=40+100+230S = 40 + 100 + 230

De onde vem cada valor: 4040 = enunciado: linha <2> Martelo · 100100 = enunciado: linha <3> Chave de fenda · 230230 = enunciado: linha <4> Tesoura

S=40+100+230=370S = 40 + 100 + 230 = \boxed{370}
NÃO CAIA NESSA!

Incluir o estoque do Alicate (581) ou da Lixa (156) na soma, pois eles não atendem à condição valor > 5.

Resposta: 370 — alternativa A

Link permanente: /questoes/fg169066