WHERE vs HAVING
이 강의에서는 WHERE
와 HAVING
의 차이를 자세히 배웁니다.
WHERE
와 HAVING
은 모두 데이터를 필터링하지만, SQL 쿼리에서 동작하는 단계가 다릅니다.
WHERE: 집계 이전의 행 필터링
WHERE
절은 어떤 집계나 그룹화가 일어나기 전, 개별 레코드를 필터링합니다.
그룹화 전에 필터링
SELECT client_name, region, order_total FROM client_orders WHERE region = 'USA';
미국(USA) 지역 고객이 한 모든 주문이 반환됩니다.
HAVING: 그룹화 이후의 필터링
HAVING
절은 보통 GROUP BY
와 함께 사용되며, 집계 이후의 그룹을 필터링합니다.
집계 후 그룹 필터링
SELECT region, AVG(order_total) AS avg_order FROM client_orders GROUP BY region HAVING AVG(order_total) > 200;
평균 주문 금액이 200보다 큰 지역만 반환합니다.
요약: 언제 무엇을 사용할까
절 | 무엇을 필터링하나 | 집계 함수와 함께 동작? |
---|---|---|
WHERE | 개별 행 | ❌ 집계와 함께 직접 사용 불가 |
HAVING | 집계 이후의 그룹 | ✅ 가능 |
개별 행 기준 필터에는
WHERE
를 사용하세요. 집계 결과를 필터링할 때는HAVING
을 사용하세요.
Quiz
0 / 1
SQL에서 집계가 적용된 후 그룹을 필터링할 때 어떤 절을 사용하나요?
집계 이후 그룹을 필터링하려면 절을 사용하세요.
WHERE
HAVING
SELECT
GROUP BY
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
DB 테이블 구조
실행 결과