Questão nº 65

Questão de Tecnologia da Informação · FGV MP-SC 2022 (nº 65)

FGV2022Analista em Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Cver comentário ↓

Analise os comandos SQL abaixo, supondo que T é uma tabela que contém as colunas A, B e C.

```
I. select A, B from T order by C
II. select A, B, C from T order by 2
III. select A, B from T order by max(C)
IV. select A, B, C from T order by B+C
```

São aceitos no SQL Server, no MySQL e no Oracle somente os comandos:

Resposta comentada

Gabarito Alternativa C

Conceito-chave: A cláusula `ORDER BY` ordena o resultado. Ela aceita nomes de colunas, números que indicam a posição da coluna no `SELECT` (ex.: `ORDER BY 2` = segunda coluna listada) e expressões aritméticas simples (ex.: `B+C`). Porém, não aceita funções de agregação (como `MAX`, `SUM`, `COUNT`) a menos que haja um `GROUP BY` — e mesmo assim, o `ORDER BY` não pode usar a função diretamente sem agrupar.

(A) Incorreta: O comando I é válido, mas a alternativa A diz que só I e II são aceitos, o que está errado porque IV também é aceito.

(B) Incorreta: O comando III (`ORDER BY max(C)`) é inválido nos três SGBDs, pois `MAX` é função de agregação e não pode ser usada no `ORDER BY` sem `GROUP BY`; a alternativa B inclui III, então está errada.

(C) Correta: I, II e IV são aceitos no SQL Server, MySQL e Oracle. I usa nome de coluna (`C`) que não está no `SELECT`, o que é permitido. II usa a posição `2` (coluna `B`), válido. IV usa expressão aritmética `B+C`, também válida. III é o único inválido, pois `MAX(C)` exige agregação com `GROUP BY`, o que não existe na consulta.

(D) Incorreta: Inclui III, que é inválido, e exclui II, que é válido; portanto, errada.

(E) Incorreta: Inclui III (inválido) e exclui I (válido); errada.

Armadilha do distrator mais tentador (B): A banca tenta fazer você acreditar que `ORDER BY max(C)` seria aceito porque "o banco pode calcular o máximo". Mas isso é falso: sem `GROUP BY`, funções agregadas não podem aparecer no `ORDER BY` — o banco não sabe sobre qual grupo calcular. Quem cai nessa pegadinha confunde "função de agregação" com "função escalar" (ex.: `UPPER`, `ROUND`), que são permitidas.

Fonte: FGV MP-SC 2022 Analista em Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho