[sql] 서브쿼리에서 스칼라 서브쿼리와 집계 함수의 조합 사용법

서브쿼리는 SQL 쿼리 안에서 사용되는 또 다른 쿼리로, 다른 쿼리의 일부로 사용될 수 있습니다. 스칼라 서브쿼리는 오직 한 개의 행만을 반환하는 서브쿼리를 말합니다. 스칼라 서브쿼리와 집계 함수를 결합하여 강력한 쿼리를 작성할 수 있습니다.

스칼라 서브쿼리

스칼라 서브쿼리는 일반적으로 다른 테이블과 관련된 조건에서 사용됩니다. 다음은 예시입니다.

SELECT employee_name, salary
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);

위의 쿼리는 employees 테이블에서 평균 급여보다 높은 급여를 받는 직원의 이름과 급여를 반환합니다.

스칼라 서브쿼리와 집계 함수의 조합

스칼라 서브쿼리는 집계 함수와 함께 사용될 때 매우 유용합니다. 집계 함수는 데이터에 대한 계산을 수행하고 결과를 반환하는 함수로, 스칼라 서브쿼리와 함께 사용할 경우 강력한 쿼리를 작성할 수 있습니다.

예를 들어, 다음은 직원들 중에서 급여가 해당 부서의 평균보다 높은 부서와 그 부서의 평균 급여를 반환하는 쿼리입니다.

SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department
HAVING MAX(salary) > (SELECT AVG(salary) FROM employees);

위의 쿼리는 employees 테이블에서 부서별 평균 급여보다 높은 급여를 받는 부서와 해당 부서의 평균 급여를 반환합니다.

결론

스칼라 서브쿼리와 집계 함수를 조합하여 사용하면 매우 다양한 데이터 분석 및 조회 요구를 충족시킬 수 있습니다. 적재적소에 이 두 가지 기능을 함께 사용하여 원하는 결과를 얻는 다양한 쿼리를 작성할 수 있습니다.