Junior — Middle
Qual é a diferença entre as condições WHERE e HAVING ao trabalhar com consultas SQL?
sobes.tech IA
Resposta da IA
No SQL, as condições WHERE e HAVING são usadas para filtrar dados, mas aplicam-se em diferentes etapas do processamento da consulta:
WHEREfiltra as linhas antes da agregação e agrupamento. Limita o conjunto de dados que será usado na consulta.HAVINGfiltra os grupos após a aplicação de funções de agregação (por exemplo,SUM,COUNT,AVG). É usado para limitar os resultados da agregação.
Exemplo:
SELECT departamento, COUNT(*) as quantidade_de_funcionários
FROM funcionários
WHERE salário > 50000 -- filtra funcionários com salário > 50000
GROUP BY departamento
HAVING COUNT(*) > 10; -- seleciona departamentos com mais de 10 funcionários
Aqui, WHERE seleciona funcionários com salário acima de 50000, e HAVING filtra os departamentos com mais de 10 funcionários.