
SELECT 부서, COUNT(*)
FROM 직원
GROUP BY 부서;
-> 부서별로 묶어서 집계
SELECT 부서, COUNT(*)
FROM 직원
GROUP BY 부서
HAVING COUNT(*) >= 5;
-> 직원 수가 5명 이상인 부서만 출력

1) WHERE (그룹화 전에 필터링)
SELECT 부서, COUNT(*)
FROM 직원
WHERE 나이 >= 30
GROUP BY 부서;
-> 30세 이상 직원만 먼저 필터링 -> 그 다음 그룹화
2) HAVING (그룹화 후 필터링)
SELECT 부서, COUNT(*)
FROM 직원
GROUP BY 부서
HAVING COUNT(*) >= 5;
-> 그룹 만든 뒤 -> 조건 적용
FROM
-> WHERE (행 필터링)
-> GROUP BY
-> HAVING (그룹 필터링)
-> SELECT
-> ORDER BY
"WHERE는 그룹화 이전에 개별 행을 필터링하고, HAVING은 GROUP BY 이후 집계 결과에 조건을 적용한다"
by HEIDI J. 꼬꼬마 데분가😎