Sobes.tech
Junior — Middle

Qual é a finalidade do operador HAVING em SQL e em que se diferencia de WHERE?

sobes.tech IA

Resposta da IA

A cláusula HAVING em SQL é usada para filtrar os resultados após agrupar os dados com GROUP BY. Ela permite definir condições para os dados agregados.

Diferença de WHERE:

  • WHERE filtra as linhas antes do agrupamento, trabalha com registros individuais.
  • HAVING filtra os grupos após a agregação.

Exemplo:

SELECT departamento, COUNT(*) AS contagem_de_funcionários
FROM funcionários
GROUP BY departamento
HAVING COUNT(*) > 10;

Aqui, WHERE não pode ser usado para filtrar por COUNT(*), pois é uma função de agregação, enquanto HAVING permite selecionar apenas os departamentos com mais de 10 funcionários.