GabaritoC — SELECT coluna1 [, coluna2, ... ] . função_de_grupo, [ função_de_grupo, ...]
FROM tabela
WHERE condição
GROUP BY coluna4 [, coluna5, ...]
HAVING coluna5 > 10
ORDER BY coluna2;
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: Ordem das cláusulas em consultas com GROUP BY
Gabarito: letra C. A ordem correta das cláusulas em uma instrução SQL que utiliza funções de grupo e GROUP BY é: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. A alternativa C é a única que apresenta essa sequência, com GROUP BY após WHERE e antes de HAVING, e ORDER BY por último. As demais alternativas violam essa ordem, colocando ORDER BY antes de GROUP BY ou invertendo outras cláusulas.
A sintaxe padrão SQL determina que o processamento lógico da consulta segue essa ordem. As funções de grupo (como COUNT, SUM, AVG, MIN, MAX) só podem ser usadas nas cláusulas SELECT, HAVING ou ORDER BY, e a cláusula GROUP BY agrupa as linhas antes da aplicação dessas funções. O HAVING filtra grupos após o GROUP BY, e o ORDER BY ordena o resultado final.
1SELECT
2FROM
3WHERE
4GROUP BY
5HAVING
6ORDER BY
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A cláusula ORDER BY aparece antes de GROUP BY. A ordem deve ser WHERE → GROUP BY → HAVING → ORDER BY, nunca o contrário. O ORDER BY é a última cláusula a ser processada.
Alternativa B — ❌ Incorreta
Novamente, ORDER BY está posicionado antes de GROUP BY. Além disso, a cláusula HAVING deveria vir logo após GROUP BY, mas aqui GROUP BY vem depois de WHERE e ORDER BY, e HAVING depois de ORDER BY? A sequência é: FROM, WHERE, ORDER BY, GROUP BY, HAVING. Incorreta.
Alternativa C — ✅ Correta ⟵ GABARITO
A ordem é: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. Essa é a sequência correta e obrigatória para consultas que utilizam GROUP BY e funções de grupo.
Alternativa D — ❌ Incorreta
A cláusula HAVING aparece antes de ORDER BY e WHERE, e WHERE depois de ORDER BY. Também GROUP BY está no final, após WHERE. Tudo fora de ordem.
Alternativa E — ❌ Incorreta
HAVING aparece antes de WHERE e ORDER BY, e GROUP BY no final. A ordem correta é: WHERE → GROUP BY → HAVING → ORDER BY.
Gabarito: letra C — a única que respeita a ordem sintática correta das cláusulas SQL.