SQL/개념
HAVING 절
데이터분석가 이채은
2024. 9. 13. 09:00
HAVING 절은 SQL에서 집계 함수(COUNT, SUM, AVG, MAX, MIN 등)로 그룹화된 결과에 조건을 적용할 때 사용하는 구문입니다. WHERE 절과 비슷한 역할을 하지만, WHERE 절은 개별 행에 조건을 적용하는 반면, HAVING 절은 그룹화된 결과에 조건을 적용합니다.
HAVING 절의 특징:
- GROUP BY 절과 함께 사용됩니다. GROUP BY로 그룹화된 데이터를 대상으로 집계 함수의 결과에 조건을 적용할 수 있습니다.
- 집계 함수는 HAVING 절에서만 필터링할 수 있습니다. 집계 함수는 WHERE 절에서 사용할 수 없기 때문에, 그룹화 후에 HAVING으로 필터링을 해야 합니다.
HAVING 절의 구문:
SELECT column1, column2, AGGREGATE_FUNCTION(column3)
FROM table_name
GROUP BY column1, column2
HAVING AGGREGATE_FUNCTION(column3) condition;
- column1, column2: 그룹화할 열.
- AGGREGATE_FUNCTION(column3): 집계 함수(COUNT, SUM, AVG, MAX, MIN 등).
- condition: 조건(예: >= 100, = 'value').
HAVING 절과 WHERE 절의 차이:
- WHERE 절은 그룹화 전에 각 개별 행에 대한 조건을 적용합니다. 따라서 집계 함수는 WHERE 절에서 사용할 수 없습니다.
- HAVING 절은 그룹화 후에 집계된 결과에 조건을 적용합니다. 집계 함수의 결과로 필터링을 하려면 반드시 HAVING을 사용해야 합니다.