: 행을 열로 전환한다.
PIVOT 절은 집계함수와 FOR절에 지정되지 않은 열을 기준으로 집계되기 때문에 인라인 뷰를 통해 사용할 열을 지정해야 한다.
입력✏️
SELECT *
FROM (SELECT JOB, DEPTNO, SAL FROM EMP)
PIVOT (SUM(SAL) FOR DEPTNO IN (10,20,30))
ORDER BY 1;
출력💻
입력✏️
SELECT JOB
,SUM(CASE DEPTNO WHEN 10 THEN SAL END) AS D10_S
,SUM(CASE DEPTNO WHEN 20 THEN SAL END) AS D20_S
,SUM(CASE DEPTNO WHEN 30 THEN SAL END) AS D30_S
FROM EMP
GROUP BY JOB
ORDER BY JOB;
출력💻
: 열이 행으로 전환된다.
입력✏️
SELECT JOB
,DEPTNO
,SAL
FROM T1
UNPIVOT(SAL FOR DEPTNO IN (D10_SAL, D20_SAL))
ORDER BY 1,2;
출력💻
참고자료 : SQL전문가가이드