JOIN을 사용하여 데이터 피벗하기

데이터베이스에서 데이터를 피벗(pivot)하는 작업은 주어진 테이블의 행과 열을 바꾸는 작업을 말합니다. 이 작업을 통해 새로운 테이블을 생성하고 데이터를 더 편리하게 분석할 수 있습니다. JOIN을 사용하여 데이터를 피벗하는 방법에 대해 알아보겠습니다.

1. INNER JOIN을 사용한 데이터 피벗

INNER JOIN은 두 개의 테이블을 조인하는 데 사용되는 가장 기본적인 JOIN 유형입니다. 피벗 작업을 위해 INNER JOIN을 사용하여 데이터를 테이블로 조인할 수 있습니다.

예를 들어, “주문” 테이블과 “상품” 테이블이 있다고 가정해보겠습니다. “주문” 테이블에는 주문 번호, 고객 ID, 상품 ID 및 수량이 저장되어 있고, “상품” 테이블에는 상품 ID와 상품 이름이 저장되어 있습니다.

두 테이블을 INNER JOIN을 사용하여 피벗하면 주문 번호와 상품 이름이 함께 표시된 새로운 테이블이 생성됩니다.

SELECT 주문.주문번호, 상품.상품이름
FROM 주문
INNER JOIN 상품
    ON 주문.상품ID = 상품.상품ID;

이렇게 피벗된 테이블을 사용하여 주문 번호에 따라 상품을 분류하거나, 특정 상품에 대한 주문 내역을 확인할 수 있습니다.

2. LEFT JOIN을 사용한 데이터 피벗

LEFT JOIN은 왼쪽(첫 번째) 테이블의 모든 레코드와 오른쪽(두 번째) 테이블의 일치하는 레코드만을 조인하는 유형입니다. LEFT JOIN을 사용하여 데이터를 피벗하면 오른쪽 테이블에 일치하는 레코드가 없는 경우에도 결과에 포함됩니다.

이를 활용하여 피벗된 테이블을 조인할 때 유용합니다. 예를 들어, “주문” 테이블의 모든 주문 내역을 기준으로 “상품” 테이블의 상품 이름을 가져오는 경우 LEFT JOIN을 사용할 수 있습니다.

SELECT 주문.주문번호, 상품.상품이름
FROM 주문
LEFT JOIN 상품
    ON 주문.상품ID = 상품.상품ID;

결론

JOIN을 사용하여 데이터를 피벗하는 것은 데이터베이스에서 많이 사용되는 작업 중 하나입니다. INNER JOIN을 사용하여 피벗된 테이블을 생성하고, LEFT JOIN을 사용하여 필요한 경우에는 NULL 값을 포함하여 데이터를 피벗할 수 있습니다. 이를 통해 테이블 데이터의 구조를 변경하고, 데이터 분석 작업을 편리하게 수행할 수 있습니다.

#데이터베이스 #SQL