③ 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 절의 문법을 간단히 설명하면 다음과 같다.