더북(TheBook)
PIVOT

오라클 11g에서 새로 제공하는 기능 중에 PIVOT절이 있다. PIVOT은 엑셀의 피벗처럼 로우를 컬럼으로 변환해 주는 기능을 수행하며 SELECT문과 함께 사용된다. ch14_score_table 테이블을 PIVOT 절을 이용해 데이터를 추출해 보자.

입력

    SELECT *
      FROM ( SELECT years, gubun, subjects, score
              FROM ch14_score_table )
     PIVOT ( SUM(score)
              FOR subjects IN ( '국어', '영어', '수학', '과학', '지리', '독일어')
            );

결과

    YEARS GUBUN     국어    영어    수학   과학    지리    독일어
    ----- ------- -------- ------- ------ ------- ------- -------
    2014  기말고사   88       80      93     91      89      83
    2014  중간고사   92       87      67     80      93      82

코드가 눈에 띄게 줄어 들었을 뿐만 아니라 이전과 동일한 결과가 나왔다. PIVOT 절의 문법을 간단히 설명하면 다음과 같다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.