본문 바로가기
Database

[ Oracle] 오라클 STDDEV_SAMP() 함수로 표본 표준편차 쉽게 이해하기

by 코드개미 2025. 6. 2.

 

오라클 STDDEV_SAMP() 함수로 표본 표준편차 쉽게 이해하기
[Oracle] STDDEV_SAMP

 

STDDEV_SAMP() 함수는 Oracle SQL에서 표본의 표준편차(Sample Standard Deviation)를 계산하는 통계 함수입니다. 본 글은 SQL 기반 데이터 분석과 통계적 추론을 수행하는 개발자와 분석가가 실무에서 이 함수를 정확히 활용할 수 있도록 설계된 가이드입니다.

1. STDDEV_SAMP 함수란?

STDDEV_SAMP()는 표본 데이터에서 표준편차를 계산합니다. 분산의 제곱근을 기반으로 하며, n - 1의 분모를 사용하여 표본의 추정 오차를 보정합니다.

2. 기본 문법

STDDEV_SAMP(numeric_column)

입력 칼럼은 숫자형이어야 하며, NULL 값은 자동으로 제외됩니다.

3. 실전 예제 1: 샘플 테이블 생성

CREATE TABLE quality_scores (
  batch_id NUMBER,
  defect_rate NUMBER
);

INSERT INTO quality_scores VALUES (1, 2.5);
INSERT INTO quality_scores VALUES (2, 3.0);
INSERT INTO quality_scores VALUES (3, 2.7);
INSERT INTO quality_scores VALUES (4, 3.2);
INSERT INTO quality_scores VALUES (5, 2.9);
COMMIT;

4. 실전 예제 2: STDDEV_SAMP 사용

SELECT STDDEV_SAMP(defect_rate) AS sample_stddev
FROM quality_scores;

위 쿼리는 defect_rate 칼럼의 표본 표준편차를 반환합니다.

5. 실전 예제 3: 그룹별 분석

CREATE TABLE department_scores (
  dept_id NUMBER,
  score NUMBER
);

-- 데이터 삽입 후 실행
SELECT dept_id, STDDEV_SAMP(score) AS dept_stddev
FROM department_scores
GROUP BY dept_id;

부서별로 통계적 분산성과 일관성을 분석하는 데 유용합니다.

6. STDDEV_SAMP vs STDDEV_POP

항목 STDDEV_SAMP STDDEV_POP
분석 대상 표본 (Sample) 모집단 (Population)
분모 n - 1 n
통계적 의미 전체 모집단 추정 전체 분석 정확도 보장

7. 활용 팁

  • 소규모 데이터 분석 시 STDDEV_SAMP 사용 필수
  • 표준편차를 통해 데이터 안정성, 일관성 분석
  • 정규성 가정이 필요한 분석의 사전 지표로 활용
  • 값이 1개일 경우 NULL 반환 → 데이터 수 체크 필요

8. 자주 묻는 질문 (FAQ)

Q1. STDDEV_SAMP 결과가 NULL인 이유는?

유효한 수치형 데이터가 1건 이하일 경우 계산이 불가능하여 NULL이 반환됩니다.

Q2. STDDEV_SAMP 결과가 커질수록 무슨 의미인가요?

데이터가 평균으로부터 많이 흩어져 있다는 의미입니다. 이는 일관성이 낮다는 것을 시사할 수 있습니다.

9. 참고 자료