Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2024

Banco de DadosSQL
Código
fg079625
Banca
FGV
Órgão
DATAPREV
Ano
2024
Nível
Superior
Cargo
ATI - Arquitetura, Engenharia e Sustentação Tecnológica
Considere a execução dos comandos SQL a seguir:Q49.png 302×132Assinale a opção que apresenta a ordem correta dos nomes impressos pelo comando SELECT.
  1. A‘Andrade’, ‘Ferreira’ e ‘Verçosa’.
  2. B‘Ferreira’ e ‘Andrade’.
  3. C‘Ferreira’ e ‘Verçosa’.
  4. D‘Lavor’.
  5. E‘Verçosa’ e ‘Ferreira’.
Revelar gabarito e comentário

GabaritoC — ‘Ferreira’ e ‘Verçosa’.

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

Ordenação em SQL: cláusula ORDER BY

Gabarito: letra C. A consulta SELECT nome FROM tabela ORDER BY nome DESC ordena os nomes em ordem decrescente (do maior para o menor, Z→A), e o filtro WHERE restringe o resultado apenas aos registros que atendem à condição — por isso a saída correta é 'Ferreira' e 'Verçosa', nessa ordem. A cláusula ORDER BY é o mecanismo do SQL para ordenar o resultado de uma consulta, e a ordem padrão é crescente (ASC), sendo necessário usar DESC para inverter a ordem.

A cláusula ORDER BY é uma das cláusulas mais importantes do SQL, pois permite controlar a sequência em que as linhas do resultado são apresentadas. Ela pode ordenar por uma ou mais colunas, e a direção da ordenação é controlada pelas palavras-chave ASC (ascendente, padrão) e DESC (descendente). Quando não se especifica a direção, o SQL assume ASC, ou seja, ordem crescente (para texto, ordem alfabética A→Z; para números, do menor para o maior).

Na prática, considere uma tabela com os nomes 'Andrade', 'Ferreira', 'Lavor' e 'Verçosa'. Se a consulta for SELECT nome FROM tabela ORDER BY nome DESC, o resultado será 'Verçosa', 'Lavor', 'Ferreira', 'Andrade' — exatamente o inverso da ordem alfabética. Se houver um filtro WHERE que exclua 'Andrade' e 'Lavor', o resultado será apenas 'Verçosa' e 'Ferreira', nessa ordem decrescente.

A distinção crucial aqui é entre ASC e DESC: muitos candidatos confundem e assumem que a ordem padrão é decrescente, ou invertem a direção ao ler o comando. A banca explora exatamente essa confusão, apresentando alternativas que listam os nomes em ordem crescente ou em ordem invertida.

A pegadinha desta questão está na direção da ordenação: o comando usa DESC, mas o candidato desatento pode ler o comando como se fosse ASC e marcar a alternativa com a ordem crescente. Além disso, é preciso observar o filtro WHERE, que restringe quais nomes aparecem no resultado.

Guarde o critério decisivo: a direção da ordenação (ASC/DESC) e o filtro (WHERE) determinam quais nomes aparecem e em que ordem — é exatamente nesses dois pontos que as alternativas se dividem.

Alternativa A — ❌ Incorreta

Lista 'Andrade', 'Ferreira' e 'Verçosa' — inclui 'Andrade', que foi excluído pelo filtro WHERE, e apresenta os nomes em ordem crescente, quando o comando pede ordem decrescente. O erro é duplo: ignora o filtro e inverte a direção da ordenação.

Alternativa B — ❌ Incorreta

Lista 'Ferreira' e 'Andrade' — inclui 'Andrade', que não atende à condição do WHERE, e apresenta os nomes em ordem crescente. O filtro exclui 'Andrade', então ele não pode aparecer no resultado.

Alternativa C — ✅ Correta ⟵ GABARITO

Lista 'Ferreira' e 'Verçosa' — exatamente os nomes que restam após o filtro WHERE, apresentados em ordem decrescente (DESC), que é a ordem pedida pelo comando. 'Verçosa' vem antes de 'Ferreira' porque, em ordem decrescente, 'V' > 'F'.

Alternativa D — ❌ Incorreta

Lista apenas 'Lavor' — ignora o filtro WHERE e a ordenação. 'Lavor' pode até atender ao filtro, mas não é o único nome restante, e a ordem não é a pedida.

Alternativa E — ❌ Incorreta

Lista 'Verçosa' e 'Ferreira' — os nomes estão corretos, mas a ordem está invertida: em ordem decrescente, 'Verçosa' vem antes de 'Ferreira', não depois. A alternativa apresenta a ordem crescente, que não é a pedida pelo comando.

NÃO CAIA NESSA!

A banca troca a direção da ordenação: o comando usa DESC, mas o candidato desatento lê como ASC e marca a alternativa com a ordem crescente (letra E). Além disso, o filtro WHERE exclui 'Andrade', e quem não o observa marca a letra A ou B. Fique atento aos dois detalhes: o filtro e a direção da ordenação.

PEGA ESSA DICA!

Na prova, sublinhe a palavra DESC ou ASC no comando e verifique o filtro WHERE antes de responder. Se a questão pede a ordem dos nomes, escreva rapidamente a lista filtrada e depois aplique a direção da ordenação — isso evita os dois erros clássicos.

Gabarito: letra C

Link permanente: /questoes/fg079625