본문 바로가기
CS/데이터베이스

[Oracle] ROW를 COLUMN으로 출력 (UNPIVOT)

by 김크롱 2020. 9. 9.

ROW를 COLUMN으로 출력 (UNPIVOT)

: COLUMN을 ROW(행)로 출력

- 데이터(행)에 NULL을 포함하고 있다면 결과에 출력되지 않음

 

SELECT *
    FROM tablename
    UNPIVOT(컬럼명지정1 FOR 컬럼명지정2 IN(column1, column2, column3));

: PIVOT과 반대로 열을 행으로 출력

 - 컬럼명지정1 은 tablename의 ROW(행)데이터 값의 출력 열 이름

 - 컬럼명지정2 는 tablename의 COLUMN(열)이름-column1,column2,column3)-의 출력 열 이름

 

 

SELECT *
    FROM tablename
    UNPIVOT(컬럼명지정1 FOR 컬럼명지정2 IN(column1 as 'nickname1', 
                                          column2 as 'nickname2',
                                          column3 as 'nickname3'));

: column1, column2, column3에 nickname을 정함. column명 대신 nickname을 ROW(행)데이터로 출력

- 데이터(행)에 NULL을 포함하고 있다면 결과에 출력되지 않음

 

 

SELECT *
    FROM tablename
    UNPIVOT INCLUDE NULLS(컬럼명지정1 FOR 컬럼명지정2 IN(column1 as 'nickname1',
                                                        column2 as 'nickname2',
                                                        column3 as 'nickname3'));

: INCLUDE NULLS = NULL을 포함하고 있을 경우 NULL값인 행도 출력