728x90

1. CORR 함수란?
CORR는 Correlation coefficient (상관계수)를 의미하며, -1부터 1까지의 값을 반환합니다. 이는 두 변수 간의 선형 상관관계를 측정합니다.
- +1: 완벽한 양의 상관관계
- 0: 상관관계 없음
- -1: 완벽한 음의 상관관계
2. 기본 문법
CORR(expr1, expr2)
expr1과 expr2는 수치형 칼럼이어야 하며, NULL은 무시됩니다.
3. 실전 예제 1: 샘플 데이터 생성
CREATE TABLE sales_data (
month VARCHAR2(10),
product_a_sales NUMBER,
product_b_sales NUMBER
);
INSERT INTO sales_data VALUES ('Jan', 100, 90);
INSERT INTO sales_data VALUES ('Feb', 150, 130);
INSERT INTO sales_data VALUES ('Mar', 200, 180);
INSERT INTO sales_data VALUES ('Apr', 250, 240);
INSERT INTO sales_data VALUES ('May', 300, 280);
COMMIT;
4. 실전 예제 2: CORR 함수 사용
SELECT CORR(product_a_sales, product_b_sales) AS correlation
FROM sales_data;
위 쿼리는 product_a_sales와 product_b_sales 간의 상관계수를 계산합니다.
5. 실전 예제 3: 그룹별 상관계수 계산
여러 그룹이 존재할 경우, GROUP BY와 함께 사용할 수 있습니다:
SELECT region, CORR(sales_q1, sales_q2) AS corr_value
FROM regional_sales
GROUP BY region;
6. 활용 팁
- 상관계수가 높다고 인과관계가 있는 것은 아닙니다.
- NULL이 포함된 행은 계산에서 제외됩니다.
- 데이터가 정규 분포를 따르지 않거나 이상치가 많다면 해석에 주의가 필요합니다.
7. 자주 묻는 질문 (FAQ)
Q1. CORR과 COVAR의 차이점은?
COVAR는 공분산을 계산하며, 단위에 영향을 받습니다. CORR은 단위에 관계없이 상관관계를 측정합니다.
Q2. 상관계수 결과가 NULL인 경우는?
두열 모두 NULL이거나 데이터 쌍이 존재하지 않을 경우 NULL을 반환합니다.
8. 참고 자료
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- W3Schools SQL Reference: https://www.w3schools.com/sql/
- Oracle CORR 함수 설명서: Oracle 10g Documentation
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] COVAR_SAMP() 함수로 샘플 데이터 통계 분석하는 방법 (0) | 2025.06.02 |
|---|---|
| [ORACLE] COVAR_POP() 함수로 분산과 공분산 한눈에 이해하기 (0) | 2025.06.02 |
| [ORACLE] NTILE() 함수로 순위 그룹 나누기 완벽 가이드 (0) | 2025.06.01 |
| [ORACLE] CUME_DIST()로 누적 백분위 실무 중심 예제로 배우기 (0) | 2025.06.01 |
| [ORACLE] LAST_VALUE() 함수 사용법 및 PARTITION BY 활용 법 (0) | 2025.06.01 |