Pular para o conteúdo principal

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

Banco de DadosConsultas e Comandos em SQL
Código
fc147211
Banca
FCC
Órgão
Pref J Guararapes
Ano
2024
Cargo
AFTri (J Guararapes)
Em um banco de dados aberto e em condições ideais. a tabela imposto_cidadao contém os campos Idimposto, CPFCidadao e valorPago (valor numérico real). A chave primária é composta pelos campos Idimposto e CPFCidadao, que são chaves estrangeiras. Para somar o conteúdo do campo valorPago de todos os registros da tabela imposto_cidadao utiliza-se a instrução SQL:
  1. ASELECT * FROM valorPago IN imposto_cidadao;
  2. BSUM valorPago FROM imposto_cidadao;
  3. CSELECT SUM (valorPago) IN imposto_cidadao;
  4. DSELECT SUM (valorPago) FROM imposto_cidadao;
  5. ESUM( * ) FIELD valorPago FROM imposto_cidadao;
Revelar gabarito e comentário

GabaritoD — SELECT SUM (valorPago) FROM imposto_cidadao;

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

Consultas SQL: funções de agregação e a cláusula FROM

Gabarito: letra D. Para somar o conteúdo do campo valorPago de todos os registros da tabela imposto_cidadao, a instrução SQL correta é SELECT SUM(valorPago) FROM imposto_cidadao; — a função de agregação SUM é aplicada à coluna e a cláusula FROM indica a tabela de origem dos dados. As demais alternativas erram ao usar IN no lugar de FROM, omitir o SELECT ou empregar sintaxe inexistente.

A linguagem SQL (Structured Query Language) é o padrão para acesso e manipulação de bancos de dados relacionais. Ela é declarativa: o usuário especifica o que deseja obter, não como o banco deve fazer para obter. Dentro do SQL, as funções de agregação são usadas para resumir informações de várias tuplas (linhas) em um único valor. As principais são COUNT (conta linhas), SUM (soma valores numéricos), AVG (média), MAX (maior valor) e MIN (menor valor).

A sintaxe básica para usar uma função de agregação é:

SELECT FUNCAO(coluna) FROM nome_da_tabela [WHERE condição];

No caso da questão, queremos a soma (SUM) dos valores da coluna valorPago da tabela imposto_cidadao. Aplicando a sintaxe, temos SELECT SUM(valorPago) FROM imposto_cidadao;. A cláusula FROM é obrigatória e indica de qual tabela os dados serão lidos. A palavra-chave IN não faz parte da sintaxe de consulta de dados — ela é usada em outros contextos, como em INSERT INTO ou em condições WHERE coluna IN (valores). Portanto, qualquer alternativa que use IN no lugar de FROM está incorreta.

A pegadinha da banca está em trocar a cláusula FROM por IN, que é uma palavra-chave que o candidato conhece de outros comandos SQL, mas que não se aplica aqui. Além disso, a alternativa B omite o SELECT, que é o comando que inicia toda consulta de dados. A alternativa E usa uma sintaxe completamente inventada (SUM(*) FIELD), que não existe no padrão SQL.

Guarde a estrutura fundamental: SELECT + função de agregação + FROM + tabela. É exatamente nessa estrutura que as alternativas se dividem — as erradas ou trocam FROM por IN, ou omitem o SELECT, ou inventam sintaxe.

  1. 1SELECT
  2. 2Função (SUM)
  3. 3Coluna (valorPago)
  4. 4FROM
  5. 5Tabela (imposto_cidadao)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

SELECT * FROM valorPago IN imposto_cidadao; — Esta alternativa usa * (que seleciona todas as colunas) em vez da função SUM, e ainda usa IN no lugar de FROM. O * retornaria todas as colunas de todas as linhas, não a soma de uma coluna específica. Além disso, valorPago é uma coluna, não uma tabela, então não poderia vir após FROM.

Alternativa B — ❌ Incorreta

SUM valorPago FROM imposto_cidadao; — Falta o comando SELECT, que é obrigatório para iniciar qualquer consulta. A sintaxe correta exige SELECT SUM(valorPago) FROM imposto_cidadao;. Sem o SELECT, a instrução não é uma consulta válida.

Alternativa C — ❌ Incorreta

SELECT SUM (valorPago) IN imposto_cidadao; — O erro está no uso de IN no lugar de FROM. A cláusula FROM é que especifica a tabela de onde os dados serão lidos. IN é usado em outros contextos (como INSERT INTO ou WHERE coluna IN (...)), mas não para indicar a origem dos dados em uma consulta.

Alternativa D — ✅ Correta ⟵ GABARITO

SELECT SUM (valorPago) FROM imposto_cidadao; — Esta é a sintaxe correta. SELECT inicia a consulta, SUM(valorPago) aplica a função de agregação de soma sobre a coluna valorPago, e FROM imposto_cidadao indica a tabela de origem. O resultado será um único valor: a soma de todos os valores da coluna valorPago.

Alternativa E — ❌ Incorreta

SUM( * ) FIELD valorPago FROM imposto_cidadao; — Esta alternativa mistura sintaxes inexistentes. SUM(*) não é válido (a função SUM espera uma coluna numérica, não *), e FIELD não é uma cláusula SQL. A instrução está completamente fora do padrão.

NÃO CAIA NESSA!

A banca troca a cláusula FROM por IN nas alternativas A e C. O candidato que conhece IN de outros comandos (como INSERT INTO ou WHERE IN) pode se confundir. Lembre-se: em uma consulta, a origem dos dados é sempre indicada por FROM. Com treino, você enxerga essa troca de longe 💪.

Gabarito: letra D

Link permanente: /questoes/fc147211