'row를 column으로'에 해당되는 글 1건
- 2017.02.02 :: 오라클 - PIVOT과 UNPIVOT
데이터베이스
2017. 2. 2. 00:43
PIVOT과 UNPIVOT
출력 데이터를 열 --> 행으로 또는 행 --> 열로 변환하기 위해 오라클 11g 이전 버전에서는 decode(CASE구분)을 사용해 해결하였으나, SQL의 가독성 및 성능에 문제점이 있었습니다. 그래서 오라클 11g 에서는 PIVOT/UNPIVOT이라는 기능을 지원하여 보다 쉽게 데이터를 가공할 수 있게 되었습니다.
사용 사례를 보면서 PIVOT과 UNPIVOT의 기능을 알아보겠습니다.
1. PIVOT(열 --> 행)
오라클에 기본적으로 설치된 SCOTT계정의 "SALGRADE" 라는 테이블을 사용해 설명하겠습니다.
PIVOT 기능을 적용할 데이터는 아래 그림과 같습니다.
[PIVOT 적용전 데이터]
PIVOT 기능을 적용하여 열로(LOSAL 값) 된 데이터를 행으로 변환
SYNTAX
PIVOT (집계함수([행의로 변환할 칼럼]) FOR [칼럼명으로 사용될 칼럼] IN ( 칼럼명으로 사용될 칼럼의 값, ...))
|
2. UNPIVOT(행 --> 열)
위에서 PIVOT 기능을 이용해 열 --> 행으로 변환된 데이터를 UNPIVOT 기능을 사용해 원래되로 다시 변환해 보겠습니다.
|
이론적으로 좀 더 깊게 알고 싶으시면 여기를 참조하세요!
'데이터베이스' 카테고리의 다른 글
오라클 권한 조회 (0) | 2017.06.28 |
---|---|
오라클 계정과 권한 (0) | 2017.06.23 |
오라클 TABLESPACE와 DATAFILE (0) | 2017.06.16 |
TIMESTAMP 연산 (0) | 2017.05.11 |
오라클의 동적 PL SQL 작성 - EXECUTE IMMEDIATE (0) | 2017.01.24 |