a) a cláusula GROUP BY é utilizada para especificar as condições que devem reunir os registros que serão selecionados.
Isso é feito com WHERE
b) a função de soma SUM é utilizada para devolver o número de registros da seleção.
COUNT retorna contagem; SUM, a soma.
c) a cláusula HAVING somente pode ser especificada em conjunto com a cláusula GROUP BY.
OK. HAVING é usado como um WHERE para dados agrupados.
d) o operador UNION ALL combina os resultados de duas consultas SQL em uma única tabela, desde que as consultas tenham o mesmo número de colunas e dados compatíveis. Nesse caso, os registros duplicados são automaticamente removidos.
UNION ALL não limpa duplicações.
e) a ordem de duas instruções SELECT que fazem uso do operador EXCEPT não altera o resultado da consulta.
Alteram: EXCEPT faz uma diferença lógica entre os conjuntos de dados e, assim, o que é tirado primeiro pode alterar o resultado do segundo.
Invalidando a alternativa A
FROM – utilizada para especificar a tabela em que os registros serão selecionados.
WHERE – utilizada para especificar as condições que devem reunir os registros que serão selecionados.
GROUP BY – utilizada para separar os registros selecionados em grupos específicos.
HAVING – utilizada para expressar a condição que deve satisfazer cada grupo.
ORDER BY – utilizada para ordenar os registros selecionados com uma ordem especifica.
Fonte: Informática para Concursos Públicos - Andre de Almeida Guesse, Samuel Lilo Abdalla
.
Validando a alternativa C
A cláusula HAVING determina uma condição de busca para um grupo ou um conjunto de registros, definindo critérios para limitar os resultados obtidos a partir do agrupamento de registros. É importante lembrar que essa cláusula só pode ser usada em parceria com GROUP BY.
Fonte: https://www.devmedia.com.br/exemplos-com-group-by-e-com-a-clausula-having-totalizando-dados-sql-server-2008-parte-2/19839