[Oracle] 오라클 행을 열로 변환하기 (PIVOT)

아주 가끔 SELECT문의 행을 열로 변환해야 할 경우가 있습니다. 과거에는 행을 열로 바꿀때 CASE WHEN이나 DECODE, WITH절을 통해서 컬럼을 로우로 변환하였었는데 오라클 11g에서 새로나온 피벗테이블을 활용하면 과거에 사용하던 방법보다 훨씬 간단한 문장으로 행과 열을 전환 할 수 있습니다. 이번 포스팅에서는 PIVOT절을 활용하여 행을 열로 바꾸는 방법에 대해 알아보도록 하겠습니다.

[Oracle] 오라클 열을 행으로 변환하기 (UNPIVOT)

 

샘플 데이터

SELECT * FROM KOR_LOAN_STATUS

샘플데이터

위의 데이터는 대출년도, 지역, 대출종류, 대출금을 나타낸 데이터입니다. PIVOT의 로우와 컬럼을 바꿔주는 기능을 활용하여 위 데이터의 행과 열을 바꿔보도록 하겠습니다. 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

PIVOT을 활용하여 행을 열로 바꾸기

SELECT 컬럼
FROM (조회할 데이터 SELECT문) OR 테이블
PIVOT(집계함수(표현식) FOR 피벗대상컬럼 IN (행으로 올릴 열));
SELECT 
*
FROM
(
   SELECT * FROM KOR_LOAN_STATUS --조회할 데이터 SELECT문
)
PIVOT
(
    SUM(LOAN_JAN_AMT) -- 집계함수
    FOR
    PERIOD IN ( '201111','201112','201310','201311' ) --행으로 올릴 열
);

행 열 변환

FOR컬럼 IN(컬럼1, 컬럼2,) 식으로 나열하면 IN절 안의 값이 컬럼으로 변환되고 집계함수 결과가 변환된 컬럼 값이됩니다. 위와같이 PIVOT을 사용하면 간편한 명령어로 행, 열변환을 할 수 있습니다. 

[출처] https://coding-factory.tistory.com/459

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 87093
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79307
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 96039
27 [java dbms][database] [컴] Apache Derby 사용하기 - 4 - in-memory DB 졸리운_곰 2021.04.15 1564
26 [java dbms][database] [컴] Apache Derby 사용하기 - 3 - Apache Derby Network Server 졸리운_곰 2021.04.15 1637
25 [java dbms][database] [컴] Apache Derby 사용하기 - 2 - sql script tool ij 사용하기 졸리운_곰 2021.04.15 1829
24 [java dbms][database] [컴] Apache Derby 사용하기 - 1 - Derby 설치 file 졸리운_곰 2021.04.15 1159
23 실습 2 - GROUP 졸리운_곰 2020.09.30 1554
22 [SQL 가이드] 데이터베이스 모델의 이해 (Understanding Database model) file 졸리운_곰 2020.06.13 2494
21 [SQL 가이드] 식별자(Identification)의 개념 file 졸리운_곰 2020.06.13 2068
20 [SQL 가이드] 관계(relationship)의 개념 file 졸리운_곰 2020.06.13 1562
19 [SQL 가이드] 속성(attribute)의 개념 file 졸리운_곰 2020.06.13 1709
18 [SQL 가이드] 엔티티의 개념 file 졸리운_곰 2020.06.13 2206
17 [SQL] join의 on절과 where절 차이 졸리운_곰 2020.05.16 1305
16 JOIN*(3개 테이블) and GROUP BY*(보이지않더라도 key칼럼으로) and ORDER BY 졸리운_곰 2020.05.16 1228
15 다중 테이블에서 데이터 검색 - JOIN file 졸리운_곰 2020.05.16 1606
14 IFNULL(MYSQL), ISNULL(MSSQL), NVL(ORACLE) 졸리운_곰 2018.07.24 1780
13 4 Ways to Join Only The First Row in SQL file 졸리운_곰 2018.07.03 1642
12 DBMS별 기존테이블 SELECT해서 새 테이블에 INSERT하여 데이터 ... file 졸리운_곰 2018.01.22 1594
11 SOL 개발자의 현주소 : 개발자가 SQL 작성시 고쳐야 하는 태도 file 졸리운_곰 2018.01.01 2163
10 오라클 운반 최소 단위 BLOCK file 졸리운_곰 2017.07.15 2042
9 재미있는 DB 이야기 ‘놀라운 마방진의 세계’ file 졸리운_곰 2017.07.15 2400
8 재미있는 DB 이야기 ‘사라진 날짜를 찾아라’ file 졸리운_곰 2017.07.15 2239
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED