[sql] 서브쿼리에서 집합 함수의 활용 방법

서브쿼리는 SQL 문장 내에 포함된 중첩된 쿼리로, 외부 쿼리의 결과에 영향을 미치는 데 사용됩니다. 서브쿼리 내에서는 다양한 집합 함수를 활용할 수 있어 데이터 집계 및 비교에 유용합니다.

집합 함수란?

집합 함수는 테이블의 열을 대상으로 그룹화하여 통계적인 계산을 수행하는 함수입니다. 대표적인 집합 함수로는 COUNT, SUM, AVG, MIN, MAX 등이 있습니다.

서브쿼리에서의 집합 함수 활용

서브쿼리 내에서는 외부 쿼리와 분리되어 독립적으로 집합 함수를 활용할 수 있습니다. 예를 들어, 다음과 같이 주문 테이블에서 특정 상품의 주문량을 구하는 쿼리를 작성할 수 있습니다.

SELECT product_id, 
    (SELECT COUNT(*) FROM orders WHERE product_id = p.product_id) AS order_count 
FROM products p;

위의 예시에서는 외부 쿼리의 products 테이블과 서브쿼리의 orders 테이블이 독립적으로 활용되었고, 서브쿼리 내에서 COUNT 함수를 사용하여 특정 상품의 주문량을 계산했습니다.

서브쿼리의 결과 활용

서브쿼리 내에서 계산된 집합 함수의 결과는 외부 쿼리에서 활용될 수 있습니다. 이를 통해 복잡한 계산이나 비교 연산을 간편하게 수행할 수 있습니다.

예를 들어, 다음과 같이 서브쿼리 내에서 계산된 결과를 활용하여 외부 쿼리에서 필터링할 수 있습니다.

SELECT product_id 
FROM products 
WHERE (SELECT COUNT(*) FROM orders WHERE product_id = products.product_id) > 100;

위의 예시에서는 서브쿼리에서 계산된 주문량이 100건을 넘는 상품들을 외부 쿼리로 필터링하는 예시입니다.

서브쿼리를 활용하여 집합 함수를 사용함으로써 복잡한 데이터 분석 및 조작을 보다 효과적으로 수행할 수 있습니다.

결론

서브쿼리 내에서 집합 함수를 활용하여 데이터의 집계 및 비교를 수행할 수 있습니다. 이를 통해 복잡한 데이터 조작과 분석을 보다 효율적으로 수행할 수 있으며, SQL 쿼리의 다양한 활용 방법을 제공합니다.

서브쿼리와 집합 함수의 활용은 SQL 데이터베이스에서 데이터 조작 및 분석 과정을 보다 유연하고 강력하게 만들어줍니다.

참고 문서