DATABASE/ORACLE 기본
[Oracle] 오라클 가로 데이터를 세로로 출력하는 방법 UNPIVOT()
ThinkFree
2022. 7. 11. 19:40
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에 데이터가 출력되었습니다.