PIVOT, UNPIVOT 함수

양혜정·2024년 2월 25일

Oracle

목록 보기
14/49

PIVOT, UNPIVOT 함수

PIVOT 함수

  • 기존 테이블 행을 열로 바꾸어 출력

UNPIVOT 함수

  • 기존 테이블 열을 행으로 바꾸어 출력

직종ID 별, 부서번호별 인원수 (PIVOT)

SELECT *
FROM
(
   select job_id
   		, nvl(department_id, -9999) as department_id
        , employee_id
   from employees
) V
PIVOT(  count(employee_id)  -- 실제 출력할 데이터 표기
	for department_id 
    in(10,20,30,40,50,60,70,80,90,100,110,-9999)  
-- 가로줄로 표기할 열을 FOR 로 명시한 후에 
-- IN 안에 출력하려는 열 데이터를 지정한다.
)
ORDER BY job_id;
-- 결과
/*
------------------------------------------------------------
 직종 ID   10  20  30  40  50  60  70  80  90  100 110 NULL
------------------------------------------------------------
AC_ACCOUNT  0   0   0   0   0   0   0   0   0   0   1   0
AC_MGR      0   0   0   0   0   0   0   0   0   0   1   0
AD_ASST     1   0   0   0   0   0   0   0   0   0   0   0
........    .............................................
FI_ACCOUNT  0   0   0   0   0   0   0   0   0   5   0   0
........    .............................................
*/

정리

-> local_hr에서작업한것

0개의 댓글