문제
다음 테이블에서 PIVOT 연산을 수행할 때 결과로 가장 적절한 것은?
SQL학생테이블: 이름, 과목, 성적 박민수, 국어, 85 박민수, 영어, 90 김지영, 국어, 95 김지영, 영어, 80 SELECT * FROM 학생테이블 PIVOT (AVG(성적) FOR 과목 IN ('국어' AS KOR, '영어' AS ENG));
① 이름별로 2행, 과목별로 2열 생성 ② 이름별로 1행씩, 과목이 열로 변환되어 총 2행 생성 ③ 과목별로 1행씩, 이름이 열로 변환되어 총 2행 생성 ④ 모든 조합으로 4행 4열 생성
정답
2번
해설
PIVOT 연산은 행을 열로 변환합니다. 이 경우 '이름'이 행의 기준이 되고, '과목'이 열로 변환되어 박민수와 김지영 각각 1행씩 총 2행이 생성되며, KOR과 ENG 열이 추가됩니다. ①은 행 개념이 잘못되었고, ③은 PIVOT 방향이 반대이며, ④는 결과 구조를 잘못 이해한 것입니다.