Sobes.tech
Middle

Qual é a diferença entre WHERE e HAVING?

sobes.tech IA

Resposta da IA

No SQL, o operador WHERE é usado para filtrar linhas antes da agregação, ou seja, limita o conjunto de dados que participará na consulta.

HAVING é usado para filtrar dados já agrupados, ou seja, após a execução de funções de agregação e agrupamento.

Exemplo:

SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000  -- filtramos funcionários com salário superior a 50000
GROUP BY department
HAVING COUNT(*) > 10     -- selecionamos departamentos com mais de 10 funcionários

Aqui, primeiro o WHERE filtra as linhas com salário acima de 50000, depois os dados são agrupados por departamento, e o HAVING filtra os grupos pelo número de funcionários.