SQL SUM 함수로 데이터 집계

핵심 원리

이 SQL 예제는 SUM() 함수를 사용하여 주어진 데이터 세트 내에서 특정 그룹의 총합을 계산하는 방법을 보여줍니다. GROUP BY 절을 사용하여 데이터를 그룹화하고, 각 그룹의 합계를 계산하여 출력합니다. 또한, HAVING 절을 통해 그룹화된 데이터에서 특정 조건을 충족하는 그룹만을 선택적으로 출력할 수 있습니다.

실무에서 쓰이는 이유

SUM() 함수는 데이터베이스 내에서 집계 연산을 수행할 때 자주 사용됩니다. 예를 들어, 부서별 총 급여, 분기별 매출 합계, 프로젝트별 총 예산 등을 계산할 때 유용합니다. GROUP BY 절과 함께 사용하면 특정 범주나 그룹에 따라 데이터를 분석하고, 비즈니스 인사이트를 도출하는 데 중요한 역할을 합니다.

실무에서 구체적으로 어떤 상황에서 사용되는지 예상 상황 예측

  • 회계 및 재무 보고서 작성: 부서별로 월간 지출을 계산하거나, 분기별로 총 수익을 집계하는 경우.
  • 판매 데이터 분석: 각 제품군이나 지역별로 총 판매액을 분석하여, 어느 제품이나 지역이 가장 많은 수익을 창출했는지 확인.
  • 인사 관리: 팀별 총 인건비를 계산하거나, 각 직원의 총 근무 시간을 계산하는 경우.

연습 문제

  1. 각 부서의 총 급여를 계산하고, 총 급여가 10,000 이상인 부서만을 출력하세요.
  2. 각 직무별로 총 급여를 계산한 후, 급여가 높은 순서대로 정렬하세요.
  3. 직무가 ‘MANAGER’가 아닌 직원들의 총 급여가 5000 이상인 직무들을 출력하세요.

연습문제 해답

  1. “`sql
    SELECT deptno, SUM(sal)
    FROM emp
    GROUP BY deptno
    HAVING SUM(sal) >= 10000;
2. ```sql
   SELECT job, SUM(sal)
   FROM emp
   GROUP BY job
   ORDER BY SUM(sal) DESC;
  1. “`sql
    SELECT job, SUM(sal)
    FROM emp
    WHERE job != ‘MANAGER’
    GROUP BY job
    HAVING SUM(sal) >= 5000;
응용 문제
1. 각 부서와 직무별로 총 급여를 계산하고, 급여가 가장 높은 부서와 직무를 출력하세요.
2. 'CLERK' 직무를 제외한 나머지 직무의 총 급여가 4000 이상인 경우를 출력하세요.
3. 부서 번호와 직무별로 총 급여를 계산하여, 부서 번호와 직무 조합별로 정렬하여 출력하세요.

응용문제 해답
1. ```sql
   SELECT deptno, job, SUM(sal)
   FROM emp
   GROUP BY deptno, job
   ORDER BY SUM(sal) DESC
   FETCH FIRST 1 ROWS ONLY;

2``sql
SELECT job, SUM(sal)
FROM emp
WHERE job != 'CLERK'
GROUP BY job
HAVING SUM(sal) >= 4000;
    3. ```sql
       SELECT deptno, job, SUM(sal)
       FROM emp
       GROUP BY deptno, job
       ORDER BY deptno, job;
    Posts created 411

    Related Posts

    Begin typing your search term above and press enter to search. Press ESC to cancel.

    Back To Top