원본테이블
SELECT *
FROM CAL;

요일을 열이름으로 하여 달력만들기
SELECT
MAX(DECODE(DAY, '일', NUM_DAY)) "일",
MAX(DECODE(DAY, '월', NUM_DAY)) "월",
MAX(DECODE(DAY, '화', NUM_DAY)) "화",
MAX(DECODE(DAY, '수', NUM_DAY)) "수",
MAX(DECODE(DAY, '목', NUM_DAY)) "목",
MAX(DECODE(DAY, '금', NUM_DAY)) "금",
MAX(DECODE(DAY, '토', NUM_DAY)) "토"
FROM CAL
GROUP BY WEEK
ORDER BY WEEK;

EMP 원본
SELECT *
FROM EMP;

직업별 부서별 인원수
SELECT DEPTNO,
COUNT(DECODE(JOB, 'CLERK', 0)) "CLERK",
COUNT(DECODE(JOB, 'MANAGER', 0)) "MANAGER",
COUNT(DECODE(JOB, 'PRESIDENT', 0)) "PRESIDENT",
COUNT(DECODE(JOB, 'ANALYST', 0)) "ANALYST",
COUNT(DECODE(JOB, 'SALESMAN', 0)) "SALESMAN"
FROM EMP
GROUP BY DEPTNO
ORDER BY DEPTNO;

PROFESSOR 원본
SELECT *
FROM PROFESSOR;

교수직책별 평균급여
SELECT
FLOOR(AVG(DECODE(POSITION, '정교수', PAY))) "정교수",
FLOOR(AVG(DECODE(POSITION, '조교수', PAY))) "조교수",
FLOOR(AVG(DECODE(POSITION, '전임강사', PAY))) "전임강사"
FROM PROFESSOR;

'Database > OracleSQL' 카테고리의 다른 글
오라클 ROWNUM, RANK, DENSE_RANK, ROW_NUMBER, PARTITION (0) | 2020.04.01 |
---|---|
200326 OLTP, OLAP ROLLUP (0) | 2020.03.26 |
오라클 소계값, 총계값, ROLLUP (0) | 2020.03.26 |
오라클 MAX, 그룹함수 AVG, GROUP BY, 서브쿼리, ROWNUM, UNION ALL, DECODE, CASE (2) | 2020.03.25 |
오라클 SELECT , FROM, WHERE 문제 (0) | 2020.03.25 |