코딩 스쿨 SQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

SQL Sum

SQL SUM(): 합계 계산

SQL SUM() 함수는 특정 열의 값을 모두 더한 합계를 계산하는 집계 함수입니다. 주로 숫자 데이터에서 합계를 구할 때 사용되며, 특정 조건에 맞는 데이터나 그룹별로 합계를 구할 수 있습니다. SUM() 함수는 데이터 분석, 재무 계산, 통계적 분석 등에서 매우 유용하게 사용됩니다.

1. 기본 SUM() 문법

SUM() 함수의 기본 문법은 다음과 같습니다:

SELECT SUM(열이름)
FROM 테이블이름
WHERE 조건;

  • 열이름: 합계를 계산할 열의 이름.
  • WHERE 조건: 특정 조건에 맞는 데이터를 선택(선택적).

2. SQL SUM() 예제

2.1 테이블에서 합계 계산

다음은 employees 테이블에서 모든 직원의 급여 합계를 계산하는 예제입니다.

SELECT SUM(salary)
FROM employees;

이 쿼리는 employees 테이블의 급여 합계를 반환합니다.

결과 예시:

SUM(salary)


55000


2.2 조건에 맞는 합계 계산

다음은 Sales 부서에 속한 직원들의 급여 합계를 계산하는 예제입니다.

SELECT SUM(salary)
FROM employees
WHERE department = 'Sales';

이 쿼리는 Sales 부서에 속한 직원들의 급여 합계를 반환합니다.

결과 예시:

SUM(salary)


15000


3. SUM()과 GROUP BY 사용

SUM() 함수는 GROUP BY 절과 함께 사용하여 특정 그룹별로 합계를 계산할 수 있습니다. 예를 들어, 부서별 급여 합계를 계산할 수 있습니다.

예제: 부서별 급여 합계 계산

SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department;

이 쿼리는 각 부서별 급여 합계를 반환합니다.

결과 예시:

department total_salary
Sales 15000
HR 10000
Engineering 30000

4. SUM()과 WHERE 절 결합

WHERE 절을 사용하여 특정 조건에 맞는 데이터만 선택하고 합계를 계산할 수 있습니다.

예제: 급여가 5,000 이상인 직원들의 급여 합계

SELECT SUM(salary)
FROM employees
WHERE salary >= 5000;

이 쿼리는 급여가 5,000 이상인 직원들의 급여 합계를 반환합니다.

결과 예시:

SUM(salary)


45000


5. SUM()과 DISTINCT 사용

SUM() 함수는 DISTINCT 키워드와 함께 사용하여 중복된 값을 제외하고 합계를 구할 수 있습니다.

예제: 중복되지 않은 급여 합계 계산

SELECT SUM(DISTINCT salary)
FROM employees;

이 쿼리는 중복된 값을 제외한 고유한 급여들의 합계를 반환합니다.

결과 예시:

SUM(DISTINCT salary)


50000


6. SUM()과 HAVING 절 사용

HAVING 절은 GROUP BY와 함께 사용되어 집계된 결과에 조건을 걸 수 있습니다. 이는 WHERE 절이 집계 함수와 함께 사용할 수 없기 때문에 필요합니다.

예제: 급여 합계가 20,000 이상인 부서 조회

SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department
HAVING SUM(salary) >= 20000;

이 쿼리는 급여 합계가 20,000 이상인 부서만 반환합니다.

결과 예시:

department total_salary
Engineering 30000

7. SUM()과 날짜 데이터 사용

SUM() 함수는 날짜 데이터와 함께 사용할 수 없습니다. 그러나 날짜 열과 연관된 다른 숫자 데이터(예: 매출액)를 그룹화하여 사용할 수 있습니다.

예제: 특정 기간 내 매출 합계 계산

SELECT SUM(sales_amount)
FROM sales
WHERE sale_date BETWEEN '2023-01-01' AND '2023-12-31';

이 쿼리는 2023년 동안의 총 매출 합계를 계산합니다.

8. 실전 예제

예제 1: 부서별로 급여 합계 계산

SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department;

이 쿼리는 부서별로 급여 합계를 반환합니다.

예제 2: 급여가 5,000 이상인 직원들의 급여 합계

SELECT SUM(salary)
FROM employees
WHERE salary >= 5000;

이 쿼리는 급여가 5,000 이상인 직원들의 급여 합계를 반환합니다.

예제 3: 급여 합계가 20,000 이상인 부서 조회

SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department
HAVING SUM(salary) >= 20000;

이 쿼리는 급여 합계가 20,000 이상인 부서를 반환합니다.

예제 4: 고유한 급여 합계 조회

SELECT SUM(DISTINCT salary)
FROM employees;

이 쿼리는 중복되지 않은 급여들의 합계를 반환합니다.

요약

SQL SUM() 함수는 테이블에서 특정 열의 값을 모두 더한 합계를 계산하는 데 사용됩니다. 이 함수는 WHERE, GROUP BY, HAVING, DISTINCT와 함께 사용할 수 있으며, 그룹별 합계나 조건에 따른 합계를 구할 수 있습니다. SUM() 함수는 재무 분석, 데이터 집계, 통계적 분석 등에서 매우 중요한 역할을 하며, 데이터를 요약하는 데 유용합니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com