Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2023

Banco de DadosSQL
Código
ce156217
Banca
CESPE / CEBRASPE
Órgão
MPE-RO
Ano
2023
Nível
Superior
Cargo
Analista de Suporte Computacional
Assinale a opção em que a instrução SQL apresentada, quando executada, permite mostrar a quantidade de contratos ativos de determinado órgão no ano de 2023.
  1. ASELECT SUM (*)FROM contratoWHERE situacao IN 'ATIVO' ANDano= 2023;
  2. BSELECT AVG (*)FROM contratoWHERE situacao = 'ATIVO'AND ano= 2023;
  3. CSELECT COUNT (*)FROM contratoWHERE situacao IN 'ATIVO'OR ano= 2023;
  4. DSELECT MAX (*)FROM contratoWHERE situacao = 'ATIVO'OR ano= 2023;
  5. ESELECT COUNT (*)FROM contratoWHERE situacao = 'ATIVO'AND ano= 2023;
Revelar gabarito e comentário

GabaritoE — SELECT COUNT (*) FROM contrato WHERE situacao = 'ATIVO' AND ano= 2023;

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

SQL: Funções de Agregação e Cláusula WHERE

Gabarito: letra E. A instrução correta usa COUNT(*) para contar linhas e filtra com WHERE situacao = 'ATIVO' AND ano = 2023, combinando as duas condições com AND para obter exatamente a quantidade de contratos ativos no ano de 2023. As demais alternativas empregam funções inadequadas (SUM, AVG, MAX) ou operadores lógicos incorretos (OR em vez de AND), além de erros de sintaxe no uso de IN.

A banca testa o conhecimento das funções de agregação e da lógica de filtragem. O quadro a seguir resume as funções:

Função

Propósito

COUNT

Número de linhas que atendem a um critério

SUM

Soma dos valores de uma coluna numérica

AVG

Média dos valores de uma coluna numérica

MAX

Maior valor de uma coluna

1Contagem
COUNT(*) — número de linhas
2Soma
SUM(coluna) — total numérico
3Média
AVG(coluna) — média numérica
4Máximo
MAX(coluna) — maior valor
5Filtro WHERE
AND — ambas as condições
OR — pelo menos uma
IN — lista de valores (com parênteses)
Funções de agregação SQL
LEVELsoulevel.com.br
Funções de agregação SQL: Contagem (COUNT(*) — número de linhas); Soma (SUM(coluna) — total numérico); Média (AVG(coluna) — média numérica); Máximo (MAX(coluna) — maior valor); Filtro WHERE (AND — ambas as condições, OR — pelo menos uma, IN — lista de valores (com parênteses))

Alternativa A — ❌ Incorreta

SELECT SUM(*) FROM contrato WHERE situacao IN 'ATIVO' AND ano = 2023;

  • SUM(*) é inválido; SUM exige uma coluna numérica, não um asterisco.

  • IN 'ATIVO' falta parênteses; o correto seria IN ('ATIVO').

  • Mesmo corrigido, SUM não conta linhas.

Alternativa B — ❌ Incorreta

SELECT AVG(*) FROM contrato WHERE situacao = 'ATIVO' AND ano = 2023;

  • AVG(*) é inválido; AVG calcula a média de valores numéricos, não conta linhas.

  • A condição está correta (AND), mas a função errada.

Alternativa C — ❌ Incorreta

SELECT COUNT(*) FROM contrato WHERE situacao IN 'ATIVO' OR ano = 2023;

  • IN 'ATIVO' falta parênteses.

  • Usa OR em vez de AND, o que faria a consulta contar contratos ativos OU de 2023, inclusive os não ativos de 2023 e ativos de outros anos. Não atende ao requisito.

Alternativa D — ❌ Incorreta

SELECT MAX(*) FROM contrato WHERE situacao = 'ATIVO' OR ano = 2023;

  • MAX(*) é inválido; MAX retorna o maior valor de uma coluna.

  • OR em vez de AND — mesmo problema da alternativa C.

Alternativa E — ✅ Correta ⟵ GABARITO

SELECT COUNT(*) FROM contrato WHERE situacao = 'ATIVO' AND ano = 2023;

  • COUNT(*) conta todas as linhas que satisfazem a condição.

  • situacao = 'ATIVO' (uso correto de =) e ano = 2023 combinados com AND garantem que apenas contratos ativos e do ano de 2023 sejam contados.

  • Sintaxe perfeitamente válida.

PEGA ESSA DICA!

Em questões de SQL, identifique primeiro qual função de agregação se aplica (COUNT para quantidade, SUM para soma, etc.) e depois verifique a lógica do WHERE: use AND quando todas as condições devem ser verdadeiras; use OR quando pelo menos uma deve ser verdadeira. Além disso, preste atenção à sintaxe do IN (exige parênteses e lista).

Gabarito: letra E.

Link permanente: /questoes/ce156217