Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados Relacionais — FCC 2026

Banco de DadosBanco de Dados Relacionais
Código
fc077309
Banca
FCC
Órgão
SEFAZ-SP
Ano
2026
Nível
Superior
Cargo
Auditor Fiscal da Receita Estadual - AFRE - Gestão Tributária - Conhecimentos Específicos (P3)
Uma equipe de fiscalização deseja gerar um relatório priorizando contribuintes cujo volume de NF-e emitidas seja atípico. A tabela nfe contém, entre outras, as colunas contribuinte id e qtd_emitidas. Deseja-se listar os contribuintes cuja quantidade emitida no mês seja maior que 5000 ou menor que 10, ordenando a saída do maior para o menor valor de qtd_emitidas. O comando SQL que atende ao requisito é:SELECT contribuinte_id,
  1. Aqtd_emitidas FROM nfe WHERE qtd_emitidas > 5000 OR qtd_emitidas < 10 ORDER BY qtd_emitidas DESC;
  2. Bqtd_emitidas FROM nfe WHERE NOT (qtd_emitidas > 5000 OR qtd_emitidas < 10) ORDER BY qtd_emitidas DESC;
  3. Cqtd emitidas FROM nfe WHERE qtd_emitidas > 5000 AND qtd_emitidas < 10 ORDER BY qtd_emitidas DESC;
  4. DMAX (qtd_emitidas) AS qtd emitidas FROM nfe WHERE qtd_emitidas > 5000 OR qtd_emitidas < 10 GROUP BY contribuinte id;
  5. Eqtd emitidas FROM nfe WHERE qtd_emitidas BETWEEN 10 AND 5000 ORDER BY qtd_emitidas;
Revelar gabarito e comentário

GabaritoA — qtd_emitidas FROM nfe WHERE qtd_emitidas > 5000 OR qtd_emitidas < 10 ORDER BY qtd_emitidas DESC;

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: Filtro e Ordenação com WHERE e ORDER BY

Gabarito: letra A. A consulta correta para listar contribuintes cuja quantidade emitida é maior que 5000 OU menor que 10, ordenando do maior para o menor, utiliza a cláusula WHERE com operador OR e ORDER BY ... DESC. A alternativa A é a única que respeita a sintaxe SQL padrão e atende exatamente ao requisito.

A banca testa o conhecimento dos operadores lógicos (OR, AND, NOT) e da cláusula ORDER BY. O enunciado pede expressamente "maior que 5000 ou menor que 10" – um intervalo aberto, complementar ao intervalo fechado BETWEEN 10 AND 5000. Portanto, a condição correta é qtd_emitidas > 5000 OR qtd_emitidas < 10.

Alternativa A — ✅ Correta ⟵ GABARITO

Apresenta a sintaxe exata: SELECT contribuinte_id, qtd_emitidas FROM nfe WHERE qtd_emitidas > 5000 OR qtd_emitidas < 10 ORDER BY qtd_emitidas DESC;.

  • Filtra corretamente os valores atípicos (acima de 5000 ou abaixo de 10).

  • Ordena do maior para o menor (DESC).

  • Não possui erros de sintaxe (vírgula entre colunas, nome de coluna sem espaços).

Alternativa B — ❌ Incorreta

Usa WHERE NOT (qtd_emitidas > 5000 OR qtd_emitidas < 10). Aplicando a lei de De Morgan, isso equivale a WHERE qtd_emitidas <= 5000 AND qtd_emitidas >= 10, ou seja, o intervalo normal (entre 10 e 5000 inclusive). É exatamente o oposto do que se deseja.

Alternativa C — ❌ Incorreta

Usa WHERE qtd_emitidas > 5000 AND qtd_emitidas < 10. Essa condição nunca é verdadeira porque nenhum número pode ser simultaneamente maior que 5000 e menor que 10. O operador correto deveria ser OR.

Alternativa D — ❌ Incorreta

Além de conter um espaço no alias (qtd emitidas – inválido), utiliza a função de agregação MAX e GROUP BY contribuinte id. Isso agruparia os dados e retornaria apenas o máximo por contribuinte, não a lista de todas as linhas. A questão não pede agregação, apenas listagem com filtro.

Alternativa E — ❌ Incorreta

Usa WHERE qtd_emitidas BETWEEN 10 AND 5000, que seleciona o intervalo normal (inclusive os extremos). O enunciado pede os valores fora desse intervalo (maior que 5000 ou menor que 10). Além disso, falta o DESC para ordenação decrescente (a ordenação padrão é crescente).

NÃO CAIA NESSA!

A banca explora a confusão entre operadores lógicos. O candidato pode ser tentado a usar BETWEEN (alternativa E) ou inverter a condição com NOT (alternativa B). Lembre-se: "maior que OU menor que" é uma disjunção – use OR. O complemento desse intervalo é BETWEEN, mas o enunciado pede exatamente os valores atípicos.

Gabarito: letra A.

Link permanente: /questoes/fc077309