데이터 분석과 보고서 작성 과정에서, 데이터베이스 내 대량의 데이터를 요약하고 분석하기 위해 집계 함수와 그룹 함수는 필수적인 도구입니다. SQL(Structured Query Language)은 다양한 집계 함수를 제공하여 데이터를 합산, 평균, 카운팅 등의 방식으로 집계할 수 있게 해줍니다. 이 글에서는 SQL의 집계 함수와 그룹 함수의 개념과 사용 방법에 대해 살펴보겠습니다.
집계 함수(Aggregate Functions)
집계 함수는 여러 행의 데이터를 기반으로 한 값을 계산하여, 단일 결과 값을 반환합니다. 주로 수치 데이터의 합계, 평균, 최대값, 최소값 등을 계산할 때 사용됩니다. 대표적인 집계 함수에는 다음과 같은 것들이 있습니다:
- COUNT(): 지정된 열의 행 수를 카운트합니다. NULL 값을 포함하지 않습니다.
- SUM(): 지정된 열의 총합을 계산합니다.
- AVG(): 지정된 열의 평균 값을 계산합니다.
- MAX(): 지정된 열의 최대값을 찾습니다.
- MIN(): 지정된 열의 최소값을 찾습니다.
예시:
SELECT COUNT(EmployeeID), AVG(Salary)
FROM Employees;
이 쿼리는 Employees 테이블에서 직원의 총 수와 평균 급여를 조회합니다.
그룹 함수(GROUP BY Clause)
GROUP BY 절은 집계 함수와 함께 사용되어, 테이블 내의 데이터를 특정 열의 값에 따라 그룹화한 후, 각 그룹에 대해 집계 함수를 적용합니다. 이를 통해 각 그룹별로 집계된 결과를 얻을 수 있습니다.
기본 구문:
SELECT column_name, aggregate_function(column_name)
FROM table_name
GROUP BY column_name;
예시:
SELECT Department, COUNT(*), AVG(Salary)
FROM Employees
GROUP BY Department;
이 쿼리는 Employees 테이블에서 부서별 직원 수와 평균 급여를 조회합니다.
HAVING 절을 이용한 그룹 필터링
HAVING 절은 GROUP BY 절과 함께 사용되어, 그룹화된 결과에 대한 조건을 지정합니다. WHERE 절과 유사하지만, WHERE 절은 행에 대한 조건을 지정하는 반면, HAVING 절은 그룹에 대한 조건을 지정합니다.
기본 구문:
SELECT column_name, aggregate_function(column_name)
FROM table_name
GROUP BY column_name
HAVING condition;
예시:
SELECT Department, COUNT(*)
FROM Employees
GROUP BY Department
HAVING COUNT(*) > 10;
이 쿼리는 직원 수가 10명을 초과하는 부서와 해당 부서의 직원 수를 조회합니다.
결론
집계 함수와 그룹 함수는 SQL에서 데이터를 요약하고 분석하는 데 매우 중요한 역할을 합니다. 이들을 활용함으로써, 대규모 데이터 집합에서 유의미한 정보를 신속하게 추출하고, 데이터 기반의 의사 결정 과정을 지원할 수 있습니다. 집계와 그룹화 작업을 통해 데이터의 가치를 최대화하고, 데이터 분석의 효율성을 높이는 방법을 숙지하는 것은 모든 데이터 분석가와 데이터베이스 관리자에게 중요한 역량입니다.
'SQL' 카테고리의 다른 글
데이터베이스 인덱싱: 성능 최적화를 위한 필수 전략 (27) | 2024.04.06 |
---|---|
데이터베이스의 데이터 제약과 무결성 유지 전략 (28) | 2024.04.06 |
서브쿼리(Subquery) 활용 가이드: 데이터베이스 질의의 힘 (22) | 2024.04.05 |
데이터베이스에서의 조인(Join) 작업 이해하기 (28) | 2024.04.05 |
데이터베이스에서 데이터 정렬과 그룹화 기초 (25) | 2024.04.05 |