본문 바로가기

SQL

HAVING 절과 WHERE 절의 차이

사용 시점 집계 함수 사용 전 필터링 집계 함수 사용 후 필터링
대상 개별 행 그룹
예제 WHERE price > 100 HAVING AVG(price) > 100

 

SQL 실행 순서

  1. FROM: 데이터를 테이블에서 읽어옵니다.
  2. WHERE: 개별 행(row)에 대해 조건을 필터링합니다. (집계 함수 사용 불가)
  3. GROUP BY: 데이터를 그룹화합니다.
  4. 집계 함수 (SUM, AVG, COUNT 등): 그룹화된 데이터에 대해 계산을 수행합니다.
  5. HAVING: 계산된 결과(집계 함수 포함)를 필터링합니다.
  6. SELECT: 최종 결과를 반환합니다.