[sql] 서브쿼리를 사용한 데이터 집계

서브쿼리는 SQL 문장 내에서 사용할 수 있는 중첩된 쿼리를 의미합니다. 서브쿼리를 사용하면 데이터 집계 및 필터링을 보다 복잡한 방식으로 수행할 수 있습니다.

서브쿼리를 사용하여 데이터를 집계하는 방법에 대해 알아봅시다.

1. 단일 행 서브쿼리를 사용한 데이터 집계

서브쿼리를 사용하여 데이터를 집계하는 가장 간단한 예는 단일 행 서브쿼리입니다. 이를 통해 특정 조건을 만족하는 데이터의 수를 세거나, 최댓값 혹은 최솟값을 구할 수 있습니다.

SELECT *
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);

위의 예제에서는 employees 테이블에서 평균 급여보다 높은 급여를 받는 직원을 조회하는 쿼리를 보여줍니다.

2. 다중 행 서브쿼리를 사용한 데이터 집계

다중 행 서브쿼리를 사용하여 여러 행의 데이터를 집계할 수도 있습니다. 이를 사용하여 특정 그룹의 데이터 개수를 계산하거나, 여러 행의 조인된 결과를 기반으로 데이터를 필터링할 수 있습니다.

SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > (SELECT AVG(employee_count) FROM departments);

위의 예제에서는 employees 테이블에서 각 부서별 직원 수를 조회하고, 평균 직원 수보다 많은 직원을 가진 부서만을 조회하는 쿼리를 보여줍니다.

서브쿼리를 사용하여 데이터를 효과적으로 집계하고 필터링하는 것은 SQL 쿼리를 더욱 유연하게 만들어줍니다.


데이터 집계를 위한 SQL 서브쿼리에 대한 소개를 마치겠습니다. 이에 대해 궁금한 점이 있거나 추가 정보가 필요하시면 언제든지 문의해 주세요.