본문으로 건너뛰기
실습하기

HAVING 절

HAVING 절은 집계를 적용한 뒤 그룹을 필터링할 수 있게 해줍니다.

WHERE와 비슷하지만, GROUP BY로 생성된 결과에 대해 사용합니다.


왜 WHERE가 아닐까?

WHEREHAVING의 차이는 다음과 같습니다.

  • WHERE는 그룹화 전에 행을 필터링합니다
  • HAVING은 집계 후 그룹을 필터링합니다

예를 들어, 평균 매출이 특정 금액을 넘는 지역을 찾으려면 먼저 데이터를 그룹화하고, 그 후 HAVING으로 그룹화된 결과를 필터링해야 합니다.


기본 문법

HAVING 절은 SELECT 문에서 GROUP BY 절 뒤에 사용합니다.

HAVING 문법 예시
SELECT column, AGG_FUNCTION(column)
FROM table_name
GROUP BY column
HAVING condition;

예제: 매출이 높은 지역

고객이라는 테이블이 있고, 총매출이 25,000을 넘는 지역을 찾고 싶다고 가정해 봅시다.

데이터를 그룹화한 뒤 HAVING 절로 결과를 필터링할 수 있습니다.

매출이 높은 지역 찾기
SELECT region, SUM(sales) AS total_sales
FROM clients
GROUP BY region
HAVING SUM(sales) > 25000;

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!