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

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

by kangs' tong 2023. 9. 30.

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

소개

오라클에서는 행을 열로 변환하는 기능을 제공하는데, 이를 PIVOT이라고 합니다. PIVOT을 사용하면 특정 열 값을 행으로 변환하여 테이블을 보다 효과적으로 분석할 수 있습니다. 이 포스팅에서는 PIVOT에 대해 상세히 설명하고, 실제로 어떻게 사용하는지 알아보겠습니다.

PIVOT의 작동 원리

PIVOT은 특정 열 값을 행으로 변환하는 데에 사용됩니다. 예를 들어, 주문 테이블에서 고객별로 주문한 상품을 한 행에 나타내고자 할 때, PIVOT을 사용하여 상품명을 행으로 변환할 수 있습니다. 이를 통해 분석하기 쉬운 형태로 데이터를 가공할 수 있습니다.

PIVOT 문법

PIVOT을 사용하기 위해서는 몇 가지 문법을 알아야 합니다.

SELECT *
FROM (
   SELECT [열1], [열2], ...
   FROM [테이블]
)
PIVOT (
   [집계함수] ([PIVOT 기준이 될 열])
   FOR [PIVOT할 열]
   IN ([열1], [열2], ...)
)

위 문법에서 각 항목의 역할은 다음과 같습니다.

  • [열1], [열2], ... : 피벗할 열들을 나열합니다.
  • [테이블] : 피벗하고자 하는 테이블을 지정합니다.
  • [집계함수] : 피벗한 결과를 집계할 함수를 지정합니다. (예: SUM, COUNT, MAX 등)
  • [PIVOT 기준이 될 열] : 피벗을 실행하기 위한 기준이 되는 열을 지정합니다.
  • [PIVOT할 열] : 피벗될 열을 지정합니다.
  • [열1], [열2], ... : 피벗된 결과로 생성될 열들을 나열합니다.

PIVOT 예제

다음은 실제로 PIVOT을 사용하는 예제입니다. 주문 테이블에서 고객별로 주문한 상품을 행으로 나타내고자 합니다.

SELECT *
FROM (
   SELECT customer_id, product_name
   FROM orders
)
PIVOT (
   COUNT (product_name)
   FOR product_name
   IN ('상품A', '상품B', '상품C')
)

위 예제에서는 주문 테이블에서 customer_idproduct_name 열을 선택합니다. 그리고 PIVOT을 사용하여 고객별로 주문한 상품을 행으로 표현합니다. 이때, COUNT 함수를 사용하여 각 상품별로 주문 수를 집계합니다. PIVOT될 열에는 상품명을, 피벗 결과로 생성될 열에는 실제 상품명들을 나열합니다.

마무리

이렇게 하면 주문 테이블의 행을 고객별로 주문한 상품을 열로 표현할 수 있습니다. PIVOT을 사용하면 보다 효과적으로 데이터를 분석할 수 있으며, 활용 범위는 다양합니다. PIVOT을 사용하여 데이터를 변환해보세요!

댓글