데이터베이스/Oracle DB
DB - UNION ALL(직업별 월급 구해보기)
hyeonseong
2022. 8. 17. 11:26
직업별 월급 평균 구하기
UNION ALL 은 합쳐주는 역할을 한다.
JOB이 같은 값들끼리 sal의 평균을 출력해주는 코드(필요 하지 않는 계산들은 모두 null값 처리 해주었다.)
SELECT job, sal, ename, hiredate, mgr, comm, deptno, empno
FROM emp
WHERE job = 'ANALYST'
UNION ALL
SELECT '소계', round(avg(sal), 2), null, null, null, null, null, null
FROM emp
WHERE job = 'ANALYST'
UNION ALL
SELECT job, sal, ename, hiredate, mgr, comm, deptno, empno
FROM emp
WHERE job = 'CLERK'
UNION ALL
SELECT '소계', round(avg(sal), 2), null, null, null, null, null, null
FROM emp
WHERE job = 'CLERK'
UNION ALL
SELECT job, sal, ename, hiredate, mgr, comm, deptno, empno
FROM emp
WHERE job = 'MANAGER'
UNION ALL
SELECT '소계', round(avg(sal), 2), null, null, null, null, null, null
FROM emp
WHERE job = 'MANAGER'
UNION ALL
SELECT job, sal, ename, hiredate, mgr, comm, deptno, empno
FROM emp
WHERE job = 'SALESMAN'
UNION ALL
SELECT '소계', round(avg(sal), 2), null, null, null, null, null, null
FROM emp
WHERE job = 'SALESMAN'
UNION ALL
SELECT '총계', round(avg(sal), 2), null, null, null, null, null, null
FROM emp;
처음이라 알아보기 쉽게 UNION ALL 기준으로 공백을 주었다