Database

where , having 특징

역발산기개세 2023. 4. 19. 14:38

where

 - 집계 함수(group)가 적용되기 이전에 해당하는 레코드들을 선택합니다. 

 

having

 - 그룹화된 결과에 대한 필터링을 수행합니다. group by와 무조건 같이 써야합니다. 즉 그룹화 된 결과에 대해서만 조건문이 적용 가능합니다.

 

[예시]

// 올바른 sql
SELECT department, AVG(salary) AS avg_salary 
FROM employees 
GROUP BY department 
HAVING AVG(salary) >= 55000 
ORDER BY avg_salary DESC;

// 잘못된 sql
SELECT department, AVG(salary) AS avg_salary 
FROM employees
where AVG(salary) >= 55000
GROUP BY department 
ORDER BY avg_salary DESC;