Junior — Middle
Qual é a diferença entre a condição HAVING e a condição WHERE ao trabalhar com consultas SQL?
sobes.tech IA
Resposta da IA
A principal diferença entre WHERE e HAVING em SQL:
- WHERE filtra as linhas antes da agregação (GROUP BY). Aplica-se a registros individuais.
- HAVING filtra os grupos após a agregação. É usado para condições em funções de agregação (por exemplo, COUNT, SUM).
Exemplo:
SELECT departamento, COUNT(*) as numero_de_funcionários
FROM funcionários
WHERE salário > 50000 -- filtra funcionários com salário acima de 50000
GROUP BY departamento
HAVING COUNT(*) > 10 -- seleciona departamentos com mais de 10 funcionários
Aqui, WHERE seleciona as linhas para a agregação, e HAVING filtra os dados já agrupados.