본문 바로가기
Database/Oracle

[ORACLE] STDDEV_POP() 함수로 집단 표준편차 구하기 실전 예제

by Papa Martino V 2025. 6. 2.
728x90

오라클 STDDEV_POP() 함수로 집단 표준편차 구하기 실전 예제
[Oracle] STDDEV_POP

 

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. 참고 자료

728x90