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:
WHEREfiltra as linhas antes da agregação. É usado para limitar o conjunto de dados original.HAVINGfiltra 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.