CASE 표현과 Oracle의 DECODE 함수의 차이점 비교 - SQL전문가 가이드 p.264
개발 및 관리/Oracle 9i, 10g, 11g, 12c, 19c 2012. 3. 28. 21:52p. 264 – CASE 표현과 Oracle의 DECODE 함수의 차이점 비교
SELECT DEPTNO,
AVG(CASE MONTH WHEN 1 THEN SAL END) M01,
AVG(CASE MONTH WHEN 2 THEN SAL END) M02,
AVG(CASE MONTH WHEN 3 THEN SAL END) M03,
AVG(CASE MONTH WHEN 4 THEN SAL END) M04,
AVG(CASE MONTH WHEN 5 THEN SAL END) M05,
AVG(CASE MONTH WHEN 6 THEN SAL END) M06,
AVG(CASE MONTH WHEN 7 THEN SAL END) M07,
AVG(CASE MONTH WHEN 8 THEN SAL END) M08,
AVG(CASE MONTH WHEN 9 THEN SAL END) M09,
AVG(CASE MONTH WHEN 10 THEN SAL END) M10,
AVG(CASE MONTH WHEN 11 THEN SAL END) M11,
AVG(CASE MONTH WHEN 12 THEN SAL END) M12
FROM (SELECT ENAME, DEPTNO, EXTRACT(MONTH FROM HIREDATE) MONTH, SAL
FROM EMP)
GROUP BY DEPTNO;
SELECT DEPTNO,
AVG(DECODE(MONTH, 1, SAL)) M01, AVG(DECODE(MONTH, 2, SAL)) M02,
AVG(DECODE(MONTH, 3, SAL)) M03, AVG(DECODE(MONTH, 4, SAL)) M04,
AVG(DECODE(MONTH, 5, SAL)) M05, AVG(DECODE(MONTH, 6, SAL)) M06,
AVG(DECODE(MONTH, 7, SAL)) M07, AVG(DECODE(MONTH, 8, SAL)) M08,
AVG(DECODE(MONTH, 9, SAL)) M09, AVG(DECODE(MONTH, 10, SAL)) M10,
AVG(DECODE(MONTH, 11, SAL)) M11, AVG(DECODE(MONTH, 12, SAL)) M12
FROM (SELECT ENAME, DEPTNO, EXTRACT(MONTH FROM HIREDATE) MONTH, SAL
FROM EMP)
GROUP BY DEPTNO;
'개발 및 관리 > Oracle 9i, 10g, 11g, 12c, 19c' 카테고리의 다른 글
ORDER BY 절 사용 특징 - SQL전문가 가이드 p.270 (0) | 2012.03.28 |
---|---|
집계 함수와 NULL 처리 - SQL전문가 가이드 p. 265 (0) | 2012.03.28 |
GROUP BY절과 HAVING절의 특성 - SQL전문가 가이드 p.256 (0) | 2012.03.28 |
NVL(oracle)/ISNULL(mssql) 함수의 특성, SQL전문가 가이드 p.245 (0) | 2012.03.28 |
단일행 CASE 표현의 종류, SQL전문가 가이드 p. 242 (0) | 2012.03.28 |