[sql] SQL HAVING 절을 사용하여 그룹화된 데이터 필터링하기

SQL의 HAVING 절은 그룹화된 데이터에 조건을 적용하여 필터링하는데 사용됩니다. 이것은 GROUP BY 절과 함께 사용되며, 특정 그룹에 대한 결과를 제한하는 용도로 활용됩니다.

HAVING 절의 구문

HAVING 절은 다음과 같이 구문을 작성합니다.

SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column1, column2, ...
HAVING condition;

위의 구문에서, WHERE 절은 그룹을 형성하기 전에 개별 레코드를 필터링하는 데 사용되며, HAVING 절은 그룹화된 결과를 필터링하는 데 사용됩니다.

HAVING 절 사용 예시

예를 들어, ‘Sales’ 테이블에서 판매금액이 특정 금액 이상인 제품 그룹만을 검색하고자 한다면, 다음과 같은 쿼리를 사용할 수 있습니다.

SELECT product, SUM(sales_amount) AS total_sales
FROM sales
GROUP BY product
HAVING SUM(sales_amount) > 1000;

위의 쿼리는 제품별로 그룹화된 판매금액의 합계를 계산한 뒤, 이 합계가 1000 이상인 그룹만을 출력합니다.

HAVING 절은 GROUP BY 절을 사용할 때에만 유효하며, 일반적인 데이터 검색 쿼리에서는 사용할 수 없다는 점을 유의해야 합니다.

이로써 SQL의 HAVING 절을 사용하여 그룹화된 데이터를 필터링하는 방법을 알아보았습니다. 이를 통해 원하는 조건에 맞는 그룹화된 데이터를 쉽게 검색할 수 있습니다.

참고 자료