Analista em Computação / Ênfase em Análise de Sistemas / Gerência de Projetos de TI
A cláusula HAVING em uma consulta SQL padrão ANSI é utilizada para
Afiltrar linhas antes da agregação de dados (GROUP BY).
Bordenar o resultado da consulta.
Cunir duas ou mais tabelas.
Drenomear colunas no resultado da consulta.
Efiltrar grupos de registros após a agregação de dados ter sido realizada pela cláusula GROUP BY.
Revelar gabarito e comentário▾
GabaritoE — filtrar grupos de registros após a agregação de dados ter sido realizada pela cláusula GROUP BY.
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”.
Cláusula HAVING em SQL
Gabarito: letra E. A cláusula HAVING é utilizada para filtrar grupos de registros após a agregação de dados pela cláusula GROUP BY, de acordo com o padrão SQL ANSI. Enquanto o WHERE filtra linhas antes da agregação, o HAVING atua sobre os grupos já formados. Essa distinção é essencial para compreender a ordem de processamento de uma consulta SQL.
PEGA ESSA DICA!
Para fixar: WHERE filtra linhas (antes do GROUP BY), HAVING filtra grupos (depois do GROUP BY). Exemplo: SELECT departamento, AVG(salario) FROM emp GROUP BY departamento HAVING AVG(salario) > 5000; – isso retorna apenas os departamentos cuja média salarial ultrapassa 5000.
1FROM / JOIN
2WHERE (filtra linhas)
3GROUP BY (agrupa)
4HAVING (filtra grupos)
5SELECT
6ORDER BY
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Filtrar linhas antes da agregação é função da cláusula WHERE, não do HAVING. O HAVING só é aplicado após o GROUP BY, quando os grupos já estão formados.
Alternativa B — ❌ Incorreta
A ordenação do resultado é feita pela cláusula ORDER BY, não pelo HAVING. O HAVING não tem qualquer relação com a ordenação.
Alternativa C — ❌ Incorreta
Unir duas ou mais tabelas é função das cláusulas JOIN (INNER JOIN, LEFT JOIN, etc.) ou do produto cartesiano. O HAVING não realiza junções.
Alternativa D — ❌ Incorreta
Renomear colunas no resultado é feito com o operador AS (por exemplo, SELECT nome AS nome_completo). O HAVING não renomeia colunas.
Alternativa E — ✅ Correta ⟵ GABARITO
Conforme o padrão SQL ANSI, a cláusula HAVING é usada para filtrar grupos de registros após a agregação (GROUP BY). A sintaxe típica é: SELECT colunas FROM tabela WHERE condição GROUP BY colunas HAVING condição_de_grupo. A condição no HAVING pode envolver funções de agregação como COUNT, SUM, AVG, etc., e é aplicada sobre os grupos já calculados.