[sql] JOIN 결과에 테이블 언피벗하기

데이터베이스 질의를 수행할 때 JOIN 연산을 사용하여 여러 테이블의 데이터를 결합하는 경우가 있습니다. 그러나 때로는 JOIN된 결과를 행과 열의 형식으로 다시 정리해야 하는 경우가 있습니다. 이런 경우에는 언피벗(Unpivot) 연산을 사용하여 데이터를 원하는 형태로 변환할 수 있습니다.

언피벗은 여러 열을 하나의 열로 합치는 연산입니다. 이를 통해 가로 방향으로 펼쳐진 데이터를 세로 방향으로 다시 정리할 수 있습니다.

다음은 SQL에서 UNPIVOT을 사용하여 JOIN된 결과에 테이블을 언피벗하는 간단한 예제입니다.

SELECT
    CustomerId,
    ProductId,
    OrderDate,
    Quantity
FROM
    (SELECT CustomerId, Product1, Product2, OrderDate
     FROM Sales) AS s
UNPIVOT
    (Quantity FOR ProductId IN (Product1, Product2)) AS unpvt;

위의 예제에서는 UNPIVOT을 사용하여 Sales 테이블을 언피벗하고, ProductIdQuantity 열을 생성했습니다.

이와 같이 SQL에서 JOIN된 결과에 테이블을 언피벗하여 데이터를 다시 정리하는 것은 데이터 분석 및 보고서 작성에 유용합니다.

관련 참고 자료: