[sql] 서브쿼리에서 GROUP BY 절의 사용 가능 여부

서브쿼리에서 GROUP BY 절을 사용하는 것은 가능합니다. 하지만 몇 가지 제약 사항이 있습니다.

제약 사항

  1. 서브쿼리의 결과를 단일 값으로 반환해야 함: 서브쿼리는 여러 행을 반환할 수 있지만 GROUP BY 절을 사용하기 위해서는 서브쿼리의 결과가 단일 값으로 반환되어야 합니다.

  2. 집계 함수와 함께 사용해야 함: 서브쿼리의 결과에 대해 GROUP BY를 사용하기 위해서는 집계 함수(SUM, COUNT, AVG 등)와 함께 사용하여 그룹화된 결과를 얻어야 합니다.

  3. 주의할 점: 서브쿼리의 결과 테이블이 큰 경우 성능 저하가 발생할 수 있으므로 주의가 필요합니다.

예시

다음은 서브쿼리의 GROUP BY 사용 예시입니다.

SELECT department, AVG(salary) AS avg_salary
FROM employee
WHERE salary > (SELECT AVG(salary) FROM employee)
GROUP BY department;

위 예시에서 서브쿼리는 평균 급여보다 높은 급여를 받는 직원들의 부서 평균 급여를 구하는데 사용되었습니다.

서브쿼리의 GROUP BY 절을 활용하면 복잡한 데이터 처리 및 분석에 유용하게 활용할 수 있습니다.

참고 자료

이상으로 서브쿼리에서 GROUP BY 절의 사용 가능 여부에 대해 알아보았습니다.