UNPIVOT()
- UNPIVOT을 사용하면 PIVOT과 반대로 가로로 출력되는 데이터를 세로로 출력할 수 있습니다.
UNPIVOT() 문법
SELECT *
FROM ( 테이블 )
UNPIVOT (가상컬럼1 FOR 가상컬럼2 IN (세로로 출력할 컬럼들 ...));
- UNPIVOT()으로 데이터를 세로로 출력하기 두 개의 가상컬럼을 사용해줍니다. 첫 번째 가상컬럼1은 데이터를 세로로 UNPIVOT시켜 출력시켜줄 컬럼명입니다. 이 열의 이름은 임의로 지정하면 됩니다. FOR 다음에 가상컬럼2는 가로로 되어 있는 테이블의 컬럼명을 UNPIVOT 시켜 세로로 출력할 열의 이름입니다. 이 열의 이름 역시 임의로 지정해주면 됩니다.
가상컬럼1 = 데이터
가상컬럼2 = 컬럼명
UNPIVOT() 테스트(https://livesql.oracle.com/)
1) UNPIVOT()

- UNPIVOT()을 사용하여 데이터를 세로로 출력하기 전에 가로로 출력된 데이터부터 살펴보겠습니다.

- 이제는 UNPIVOT()을 사용하여 가로로 출력된 데이터를 동물의 NAME을 기준으로 하여 세로로 출력하여 보겠습니다.

- UNPIVOT()을 사용하면 데이터가 가로로 출력되는 것을 확인할 수 있습니다.
- ANIMAL테이블에서 ANIMAL_ID와 ANIMAL_TYPE, INTAKE_CONDITION 컬럼이 가상컬럼2의 INFO로 적용되어 세로로 출력되었으며, 그에 맞게 VALUE로 지정한 가상컬럼1에 데이터가 출력되었습니다.
'DATABASE > ORACLE 기본' 카테고리의 다른 글
[Oracle] 오라클 세로 데이터를 가로로 출력하는 방법 PIVOT() (0) | 2022.07.04 |
---|---|
[Oracle] 오라클 전의 행과 다음 행 출력 함수 LAG()와 LEAD() (0) | 2022.06.28 |
[Oracle] 오라클 그룹 데이터 가로로 출력해주는 함수 LISTAGG() (0) | 2022.06.27 |
[Oracle] 오라클 비율 출력 함수 CUME_DIST() (0) | 2022.06.23 |
[Oracle] 오라클 등급 출력 함수 NTILE() (0) | 2022.06.22 |