728x90

STDDEV_POP() 함수는 Oracle SQL에서 모집단의 표준편차(Population Standard Deviation)를 계산할 때 사용하는 통계 함수입니다. 본 글은 이 함수를 정확히 이해하고 실무에서 효과적으로 사용하는 방법을 개발자와 데이터 분석가의 시각에서 자세히 설명합니다.
1. STDDEV_POP 함수란?
STDDEV_POP()은 전체 모집단의 표준편차를 계산합니다. 표준편차는 데이터가 평균으로부터 얼마나 흩어져 있는지를 나타내며, 분산의 제곱근으로 정의됩니다.
2. 기본 문법
STDDEV_POP(numeric_column)
입력은 수치형 칼럼이어야 하며, NULL 값은 계산에서 제외됩니다.
3. 실전 예제 1: 샘플 테이블 생성
CREATE TABLE salary_data (
emp_id NUMBER,
salary NUMBER
);
INSERT INTO salary_data VALUES (1, 5000);
INSERT INTO salary_data VALUES (2, 5500);
INSERT INTO salary_data VALUES (3, 6000);
INSERT INTO salary_data VALUES (4, 5200);
INSERT INTO salary_data VALUES (5, 5800);
COMMIT;
4. 실전 예제 2: STDDEV_POP 사용
SELECT STDDEV_POP(salary) AS pop_stddev
FROM salary_data;
이 쿼리는 전체 직원 급여의 표준편차를 계산합니다.
5. 실전 예제 3: 그룹별 표준편차
CREATE TABLE dept_salary (
dept_id NUMBER,
emp_id NUMBER,
salary NUMBER
);
-- 부서별 데이터 삽입 후 실행
SELECT dept_id, STDDEV_POP(salary) AS dept_stddev
FROM dept_salary
GROUP BY dept_id;
부서별로 평균으로부터 얼마나 급여가 분포되어 있는지를 확인할 수 있습니다.
6. STDDEV_POP vs STDDEV_SAMP
| 항목 | STDDEV_POP | STDDEV_SAMP |
|---|---|---|
| 대상 | 모집단 전체 | 표본 |
| 분모 | n | n - 1 |
| 사용 시점 | 전체 데이터를 알고 있을 때 | 일부 샘플 데이터로 전체 추정 시 |
7. 활용 팁 및 유의사항
- 표준편차가 클수록 데이터가 평균에서 많이 퍼져 있음을 의미
- 데이터 정규성 가정이 필요한 분석에서는 사전 확인 지표로 활용
- NULL은 자동 제외되므로, 데이터 전처리 필수
- 단위에 따라 해석이 달라질 수 있으므로 주의
8. 자주 묻는 질문 (FAQ)
Q1. STDDEV_POP이 NULL을 반환하는 경우는?
데이터가 모두 NULL이거나 유효한 값이 하나 이하인 경우입니다.
Q2. 분산 값도 함께 보고 싶을 땐?
VAR_POP() 함수를 함께 사용하면 분산도 확인할 수 있습니다. 표준편차는 분산의 제곱근입니다.
9. 참고 자료
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- Oracle SQL Reference - STDDEV_POP: Oracle 19c Reference
- W3Schools SQL Tutorial: https://www.w3schools.com/sql/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] REGR_SLOPE() 함수로 선형 회귀 기울기 계산하는 방법 (0) | 2025.06.02 |
|---|---|
| [ORACLE] STDDEV_SAMP() 함수로 표본 표준편차 쉽게 이해하기 (0) | 2025.06.02 |
| [ORACLE] VAR_POP() 함수로 분산 기반 데이터 분석 시작하기 (0) | 2025.06.02 |
| [ORACLE] VAR_SAMP() 함수 완벽 분석 : 표본 분산 계산의 핵심 (0) | 2025.06.02 |
| [ORACLE] COVAR_SAMP() 함수로 샘플 데이터 통계 분석하는 방법 (0) | 2025.06.02 |