오늘의 마지막 문제1. 다음과 같이 dept 테이블을 구성하시오
(SQL 이수자 평가 제출물 문제2번)
코드 :
--오늘의 마지막 문제1. 다음과 같이 dept 테이블을 구성하시오
--(SQL 이수자 평가 제출물 문제2번)
--부서번호별 토탈월급, 최대월급, 최소월급, 인원수가 모두 dept 테이블에 merge 되게하세요
alter table dept
add maxsal number(10);
alter table dept
add minsal number(10);
alter table dept
add cnt number(10);
--merge 문을 직접 작성하세요.
merge into dept d
using (select deptno, sum(sal) sumsal, max(sal) maxsal, min(sal) minsal, count(*) cnt
from emp
group by deptno) e
on (d.deptno = e.deptno)
when matched then
update set d.maxsal = e.maxsal,
d.minsal = e.minsal,
d.cnt = e.cnt;
select * from dept;
오늘의 마지막 문제2. SQLP 기출문제. SQL 이수자 평가 제출물 문제1.
다음과 같이 결과를 출력하세요. 아래의 SQL의 결과를 FROM 절의 서브쿼리로 만들고 토탈을 SUBSTR 로 잘라내서 출력하세요
코드 :
select ename
,sal
,substr(토탈, regexp_instr(토탈,'[0-9]+',1,1), regexp_instr(토탈,'[[:space:]]+',1,1)-1) 토탈월급
,substr(토탈, regexp_instr(토탈,'[0-9]+',1,2), regexp_instr(토탈,'[[:space:]]+',1,1)-1) 최대월급
,substr(토탈, regexp_instr(토탈,'[0-9]+',1,3), regexp_instr(토탈,'[[:space:]]+',1,1)-1) 최소월급
from
(
select ename, sal, ( select rpad(sum(sal),10,' ') || rpad(max(sal),10,' ') ||rpad(min(sal),10,' ')
from emp
where job='SALESMAN' ) 토탈
from emp
) ;
오늘의 마지막 문제3.