Sobes.tech
Middle

Pergunta padrão sobre SQL: qual é a diferença entre WHERE e HAVING?

sobes.tech IA

Resposta da IA

A principal diferença entre WHERE e HAVING em SQL reside na fase em que filtram os dados:

  • WHERE filtra as linhas antes da agregação. É usado para limitar o conjunto de dados original.
  • HAVING filtra os grupos após a aplicação de funções de agregação e agrupamento (GROUP BY).

Exemplo:

SELECT departamento, COUNT(*) as contagem_empregados
FROM empregados
WHERE salario > 50000  -- filtra empregados com salário > 50000
GROUP BY departamento
HAVING COUNT(*) > 10      -- seleciona departamentos com mais de 10 empregados

Aqui, WHERE limita as linhas iniciais, e HAVING os grupos finais.