Questão nº 58
Questão de Tecnologia da Informação · FGV MPMS 2012 (nº 58)
Observe o comando SQL a seguir:
SELECT nome, sobrenome, PIS, anos_de_servico FROM Empregados
A cláusula que deve ser adicionada ao comando acima para ordenar os registros por anos de serviço, com os empregados que estão há mais tempo na empresa aparecendo primeiro na listagem, é
- AORDER 'anos_de_servico' BY ASC
- BORDER BY 'anos_de_servico'
- CORDER BY anos_de_servico DESC (alternativa correta)
- DSORTED BY anos_de_servico DESC
- EORDER BY anos_de_servico ASC
Resposta comentada
Gabarito Alternativa C
Conceito-chave: A cláusula ORDER BY é a única forma de ordenar resultados em SQL. O termo DESC (descendente) coloca os maiores valores primeiro; ASC (ascendente) coloca os menores primeiro. Como "mais tempo na empresa" = maior número de anos, precisamos do maior valor primeiro, logo DESC.
- (A) Incorreta: A sintaxe está errada: a palavra
ORDERvem antes deBYe o nome da coluna não vai entre aspas simples (aspas são para strings, não para identificadores de coluna). - (B) Incorreta: Faltou o modificador
DESC. Sem ele, o padrão éASC, que ordenaria do menor para o maior tempo de serviço (os mais novos primeiro), invertendo o que a questão pede. - (C) Correta:
ORDER BY anos_de_servico DESCordena do maior valor de anos para o menor, colocando os empregados com mais tempo de casa no topo da listagem, exatamente como solicitado. - (D) Incorreta:
SORTED BYnão existe em SQL padrão; o comando correto éORDER BY. Além disso, oDESCestá presente, mas a sintaxe inválida torna o comando inexecutável. - (E) Incorreta:
ASC(ascendente) coloca os menores valores primeiro, ou seja, os empregados com menos anos de serviço apareceriam no topo, o oposto do que a questão exige.
Armadilha do distrator (B): A banca tentou enganar com a opção ORDER BY 'anos_de_servico' (sem DESC). Muita gente vê a palavra "ordenar" e já marca, esquecendo que o padrão é ASC. A pegadinha está em ignorar que "mais tempo na empresa" significa maior número de anos, e sem DESC a ordenação fica crescente, invertendo o resultado esperado.
Fonte: FGV MPMS 2012 Técnico I - Informática. Reproduzida para fins de estudo.