[sql] 집계 결과에 조건을 적용하는 스칼라 함수 (HAVING 등)

관계형 데이터베이스에서 집계 함수를 사용하여 결과를 계산할 때, 종종 그 결과에 조건을 적용해야 합니다. 이때 사용하는 것이 바로 HAVING 절입니다. HAVING 절은 WHERE 절과 유사하게 동작하지만, 집계 결과에 조건을 적용하는데 사용됩니다.

예를 들어, 주문된 제품들을 고객별로 그룹화하고, 각 고객이 주문한 제품의 합계 금액이 1000달러를 초과하는 경우에만 결과에 포함시키고 싶다고 가정해보겠습니다. 이때, HAVING 절을 사용하여 이러한 조건을 쉽게 적용할 수 있습니다.

다음은 HAVING 절을 사용한 SQL 쿼리의 예시입니다.

SELECT customer_id, SUM(order_amount) as total_amount
FROM orders
GROUP BY customer_id
HAVING SUM(order_amount) > 1000;

위의 예시에서, HAVING 절은 “주문된 제품들을 고객별로 그룹화한 뒤, 각 고객이 주문한 제품의 합계 금액이 1000달러를 초과하는 경우에만 결과에 포함시키겠다”는 조건을 나타냅니다.

이와 같이, HAVING 절을 사용하면 집계 결과에 원하는 조건을 쉽게 적용할 수 있어서 데이터를 더욱 정확하게 필터링할 수 있습니다.

참고 자료