알려줘.

SQL에서 $\text{GROUP BY}$와 $\text{HAVING}$은 서로 다른 역할을 하며, $\text{HAVING}$은 $\text{WHERE}$와 비슷하지만 적용되는 대상이 다릅니다.


$\text{GROUP BY}$와 $\text{HAVING}$의 차이 및 설명

키워드 목적 적용 시점 사용 예시
$\text{GROUP BY}$ 들을 특정 기준(열)으로 그룹화합니다. $\text{FROM}$ 절 이후, $\text{WHERE}$ 절 이후에 적용됩니다. 특정 부서별 평균 급여를 구하고 싶을 때
$\text{HAVING}$ $\text{GROUP BY}$로 그룹화된 결과조건을 적용하여 필터링합니다. $\text{GROUP BY}$ 절 이후에 적용됩니다. 평균 급여가 500만 원 이상인 부서만 보고 싶을 때

1. $\text{GROUP BY}$ (그룹화)

2. $\text{HAVING}$ (그룹 조건)


$\text{WHERE}$와 $\text{HAVING}$의 차이 및 사용 시점

$\text{WHERE}$와 $\text{HAVING}$은 둘 다 조건을 설정하는 필터링 역할을 하지만, 적용되는 대상순서가 다릅니다.

구분 WHERE HAVING
적용 대상 $\text{FROM}$ 절에서 가져온 개별 행 $\text{GROUP BY}$ 절로 생성된 그룹
사용 가능 조건 개별 행의 열 값에 대한 조건 (집계 함수 사용 불가) 집계 함수의 결과 또는 그룹화된 열에 대한 조건
실행 순서 $\text{FROM}$ $\rightarrow$ $\text{WHERE}$ $\rightarrow$ $\text{GROUP BY}$ $\rightarrow$ $\text{HAVING}$ $\rightarrow$ $\text{SELECT}$ $\rightarrow$ $\text{ORDER BY}$

1. $\text{WHERE}$ (행 조건)