SQL
HAVING 절과 WHERE 절의 차이
김예나
2024. 12. 10. 16:27
사용 시점 | 집계 함수 사용 전 필터링 | 집계 함수 사용 후 필터링 |
대상 | 개별 행 | 그룹 |
예제 | WHERE price > 100 | HAVING AVG(price) > 100 |
SQL 실행 순서
- FROM: 데이터를 테이블에서 읽어옵니다.
- WHERE: 개별 행(row)에 대해 조건을 필터링합니다. (집계 함수 사용 불가)
- GROUP BY: 데이터를 그룹화합니다.
- 집계 함수 (SUM, AVG, COUNT 등): 그룹화된 데이터에 대해 계산을 수행합니다.
- HAVING: 계산된 결과(집계 함수 포함)를 필터링합니다.
- SELECT: 최종 결과를 반환합니다.