[Oracle] 오라클 열을 행으로 변환하기 (UNPIVOT)
- DB/Oracle
- 2019. 12. 27.
저번 포스팅에서 행을 열로 바꾸는 PIVOT절에 대해 알아보았습니다. 항상 언어는 반대의 속성도 가지고 있습니다. 행을 열로 바꾸는 방법이 있으면 열을 행으로 바꾸는 방법도 있습니다. 열을 행으로 바꿔주는 방법은 UNPIVOT절을 활용하면 됩니다.
[Oracle] 오라클 행을 열로 변환하기 (PIVOT)
샘플 데이터
SELECT * FROM SCORE
위의 데이터는 시험명으로 국어, 수학, 영어 성적을 나타낸 데이터입니다. UNPIVOT의 컬럼과 로우를 바꿔주는 기능을 활용하여 위 데이터의 열과 행을 바꿔보도록 하겠습니다.
UNPIVOT을 활용하여 열을 행으로 바꾸기
SELECT 컬럼
FROM (조회할 데이터 SELECT문) OR 테이블
UNPIVOT(가상 컬럼1) FOR (가상 컬럼2) IN (열으로 내릴 행컬럼));
SELECT * FROM
SCORE
UNPIVOT
(
SCORE
FOR
SBJECTS IN(KOREAN, MATH, ENGLISH)
);
FOR컬럼 IN(컬럼1, 컬럼2,) 식으로 나열하면 IN절 안의 값이 로우로 변환되고 나머지는 출력용 가상 컬럼이 됩니다. 위와같이 UNPIVOT을 사용하면 간편한 명령어로 행을 열로 변환을 할 수 있습니다.
'DB > Oracle' 카테고리의 다른 글
[Oracle] 오라클 스케줄러 사용법 & 예제 (4) | 2019.12.29 |
---|---|
[Oracle] 오라클 계층형 쿼리(START WITH.. CONNECT BY) (14) | 2019.12.28 |
[Oracle] 오라클 행을 열로 변환하기 (PIVOT) (8) | 2019.12.26 |
[Oracle] 오라클 그룹별 소계 합계 구하기 (ROLLUP, CUBE) (2) | 2019.12.25 |