본문 바로가기

IT/ETC

[UNPIVOT] 행열 전환 : 열을 행으로 변환하기

목차

  • UNPIVOT 이란?
  • UNPIVOT 문법
  • UNPIVOT 사용 예제

1. UNPIVOT 이란?

UNPIVOT은 열을 행으로 전환할 수 있는 함수입니다.

2. UNPIVOT 문법

문법은 매우 간단합니다.

가상 컬럼1, 2는 임시로 작성하는 칼럼명을 뜻합니다.

테이블에 존재하는 칼럼이 아닙니다.

 

3. UNPIVOT 사용 예제

(1) 먼저 테스트 테이블과 데이터를 생성하도록 하겠습니다.

 

 

(2) UNPIVOT 을 이용해 열을 행으로 전환해보겠습니다.

아래에 보이는 SCORE 와 SBJECTS 칼럼은 가상 칼럼입니다. (좀전에 생성한 테이블에 존재하지 않죠?)

 

 

해당 쿼리를 조회해보니 정상적으로 열이 행으로 전환됬습니다.

근데 여기서 똑같은 사람의 이름이 3번씩 반복되고 있는걸 확인할 수 있는데,

굳이 반복될 필요가 없으니 제거해보겠습니다.

 

 

다양한 방법이 있겠지만 저는 CASE문을 사용했습니다.

과목(SBJECTS)이 KOREAN 일 때, 이름(NAME)을 표현하는 CASE문입니다.

 

 

다른 방법도 많으니, 응용해보시면 됩니다.

이렇게 해서 학생 이름 별로 과목과 점수를 뽑았습니다.

UNPIVOT 어렵지 않죠? :D