Sobes.tech
Junior — Middle

Quais métodos existem para filtrar dados sem usar a cláusula HAVING em SQL?

sobes.tech IA

Resposta da IA

Para filtrar dados sem usar a cláusula HAVING em SQL, pode aplicar os seguintes métodos:

  • Utilizar WHERE para filtrar linhas antes de agrupar. Por exemplo, filtrar por valores de registos individuais.
  • Aplicar subconsultas, onde primeiro são selecionados dados agregados e depois é aplicado um filtro na consulta principal.
  • Usar funções de janela (se o SGBD as suportar) para filtrar dados por agregados sem HAVING.

Exemplo com subconsulta:

SELECT department, total_salary
FROM (
  SELECT department, SUM(salary) AS total_salary
  FROM employees
  GROUP BY department
) AS dept_salaries
WHERE total_salary > 100000;

Aqui, a filtragem pela soma dos salários ocorre na consulta externa sem HAVING.