[sql] SQL HAVING 절을 사용하여 그룹화된 데이터 중 같은 그룹 내에서의 조건 검색하기

SQL에서는 GROUP BY 절을 사용하여 데이터를 그룹화할 수 있습니다. 이때, GROUP BY 절을 사용하면 그룹화된 데이터에 대한 조건 검색을 위해 HAVING 절을 사용할 수 있습니다. 이번 블로그에서는 SQL에서 HAVING 절을 사용하여 그룹화된 데이터 중 같은 그룹 내에서의 조건 검색하는 방법을 살펴보겠습니다.

그룹화된 데이터에 조건 검색하기

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column_name
HAVING aggregate_function(column_name) condition;

위의 구문에서 HAVING 절은 GROUP BY 절과 함께 사용되며, GROUP BY 절이 적용된 후에 그룹화된 데이터에 조건을 적용합니다. 예를 들어, 합계가 특정 값 이상인 그룹을 검색하거나, 평균값이 특정 범위에 있는 그룹을 찾는 등의 작업을 수행할 수 있습니다.

예제

아래는 orders 테이블의 주문 금액을 고객별로 그룹화하고, 그 중에서 주문 금액이 500 이상인 고객을 검색하는 예제입니다.

SELECT customer_id, SUM(order_amount) AS total_amount
FROM orders
GROUP BY customer_id
HAVING SUM(order_amount) >= 500;

위의 예제에서는 HAVING 절을 사용하여 SUM(order_amount)이 500 이상인 그룹을 검색합니다.

마무리

SQL에서 HAVING 절을 사용하면 그룹화된 데이터에 대한 조건 검색을 유연하게 할 수 있습니다. 이를 통해 복잡한 집계 함수나 조건을 쉽게 적용하여 필요한 데이터를 검색할 수 있습니다.