[sql] 그룹화를 위한 스칼라 함수 (GROUP BY, HAVING 등)

SQL에서 데이터를 그룹화하고 집계하는 작업은 데이터베이스에서 매우 중요합니다. 이런 작업을 할 때 스칼라 함수를 활용하면 더욱 효과적으로 원하는 결과를 도출할 수 있습니다. 이번 글에서는 GROUP BY 및 HAVING 구문을 이용한 그룹화 작업 시 스칼라 함수를 어떻게 활용할 수 있는지 알아보겠습니다.

GROUP BY를 이용한 그룹화

우선 GROUP BY 구문을 이용하여 특정 컬럼을 기준으로 데이터를 그룹화할 수 있습니다. 그룹화된 데이터에 대한 집계 함수를 사용하여 원하는 결과를 얻을 수 있습니다. 다음은 간단한 예시입니다.

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;

위 예시에서는 employees 테이블에서 department 컬럼을 기준으로 그룹화하고, 각 그룹의 평균 급여를 계산하여 avg_salary로 표시하고 있습니다.

HAVING를 이용한 그룹화 조건 지정

GROUP BY 구문으로 그룹화하고 나면, HAVING 구문을 사용하여 그룹화된 결과에 조건을 지정할 수 있습니다. 다음은 HAVING 구문을 사용한 예시입니다.

SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;

위 예시에서는 평균 급여가 50000을 넘는 부서에 대한 결과만을 조회하고 있습니다. 이처럼 HAVING 구문을 이용하면 그룹화된 데이터에 대한 조건을 유연하게 지정할 수 있습니다.

결론

SQL에서 그룹화를 위한 GROUP BY, HAVING 구문을 사용할 때 스칼라 함수를 활용하면 원하는 집계 및 조건을 더욱 유연하게 지정할 수 있습니다. 이를 통해 다양한 분석 및 보고서 작성 등에 활용할 수 있습니다.

참고 자료