728x90
728x90

HAVING 절

개념

  • SQL에서 HAVING 절은 데이터베이스에서 그룹화된 결과에 대한 필터링을 수행하는 데 사용된다.
  • HAVING 절은 GROUP BY 절과 함께 사용되며, GROUP BY 절로 그룹화된 데이터를 기반으로 특정 조건을 가진 그룹을 선택하는 데 사용된다.
  • 일반적인 HAVING 절의 구문은 다음과 같다.
SELECT column1, column2, aggregate_function(column3)
FROM table
GROUP BY column1, column2
HAVING condition;
  • SELECT: 검색할 열을 지정한다. 일반적으로 그룹화된 열과 집계 함수를 포함한다.
  • table: 데이터를 가져올 테이블의 이름이다.
  • GROUP BY: 그룹화할 열을 지정한다. 이 열을 기준으로 데이터가 그룹화된다.
  • aggregate_function: 집계 함수를 적용할 열을 지정한다. 예를 들어, SUM, COUNT, AVG 등이 있다.
  • condition: 그룹에 대한 필터링 조건을 지정한다. 이 조건은 그룹에 적용되며, HAVING 절을 통해 특정 그룹을 선택할 수 있다.

 

HAVING 절 vs. WHERE 절

  • HAVING 절은 WHERE 절과 유사하게 동작하지만, WHERE 절은 개별 레코드에 대한 필터링을 수행하고 HAVING 절은 그룹에 대한 필터링을 수행한다는 점에서 차이가 있다.
  • 즉, HAVING 절은 집계 함수를 사용하여 계산된 그룹 결과에 대한 필터링을 제공한다.

 

사용 예제

  • 예를 들어, 아래는 "Orders" 테이블에서 각 고객의 총 주문 금액이 1000보다 큰 고객을 찾는 쿼리의 예이다.
SELECT customer_id, SUM(order_amount) AS total_amount
FROM orders
GROUP BY customer_id
HAVING total_amount > 1000;
  • 이 쿼리는 주문을 고객별로 그룹화하고, 각 고객의 총 주문 금액이 1000보다 큰 경우에 대한 결과만 반환한다.
728x90
728x90