본문 바로가기
카테고리 없음

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

by sftt 2024. 1. 18.

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

개요

오라클 데이터베이스에서는 테이블의 열을 행으로 변환하는 기능을 제공하는데, 이를 UNPIVOT이라고 합니다. UNPIVOT은 데이터를 수직 방향에서 수평 방향으로 변환하는 작업을 수행합니다. 이를 통해 테이블의 가독성을 높이고 데이터 처리에 유용한 형태로 변환할 수 있습니다.

UNPIVOT 구문

UNPIVOT은 다음과 같은 구문으로 사용할 수 있습니다.

SELECT <열 목록>
FROM <테이블명>
UNPIVOT
(
    <새로운 열 이름> FOR <기존 열 이름> IN (<열1>, <열2>, ...)
)

위의 구문에서 <열 목록>은 UNPIVOT 작업 후 출력할 열의 목록입니다. 수직 방향의 열이 수평 방향으로 변환되므로 출력할 열은 기존의 열보다 적어야 합니다.

<테이블명>은 UNPIVOT 작업을 수행할 대상 테이블의 이름입니다.

<새로운 열 이름>은 UNPIVOT 작업 후 생성되는 열의 이름입니다. 이 열은 UNPIVOT 작업 전의 열이 구분되는 값을 가지게 됩니다.

<기존 열 이름>은 UNPIVOT 작업을 수행할 기준이 되는 열의 이름입니다.

<열1>, <열2>, ...은 UNPIVOT 작업을 수행할 대상 열의 이름들입니다.

예제

다음은 UNPIVOT을 사용하여 열을 행으로 변환하는 예제입니다.

SELECT *
FROM (
    SELECT department_id, job_id, salary
    FROM employees
)
UNPIVOT
(
    salary FOR job_id IN (job_id1, job_id2, job_id3)
);

위의 예제는 employees 테이블에서 department_id, job_id, salary 열을 출력하는데, job_id1, job_id2, job_id3 열을 UNPIVOT 작업을 수행하여 salary 열과 연결합니다. 결과는 department_id, job_id, salary 열들로 구성된 테이블입니다.

결론

오라클 데이터베이스에서 UNPIVOT을 사용하면 열을 행으로 변환할 수 있습니다. 이를 통해 데이터 처리의 유연성과 가독성을 높일 수 있으며, 다양한 분석 작업에 활용할 수 있습니다. 이를 통해 데이터베이스의 성능을 최적화하고 보다 효율적인 작업을 수행할 수 있습니다.

댓글