Oracle

[Oracle] 테이블 복사 및 문제 풀이.

allempty_sheep 2024. 6. 20. 17:21
반응형

 

EMP 테이블을 테스트 하거나 사용할 때 원래 테이블인 EMP 테이블에 문제가 생기면 안되니 새로운 테이블을 똑같이 생성하여서 사용 할 것이다.

emp0620 이라는 이름으로 emp 테이블의 내용을 복사한다.

CREATE TABLE EMP0620 as SELECT * FROM EMP;

 

생성 후 데이터를 확인 해 보자.

 

문제 1) 10번,30번 부서사원중 상관이 있고
보너스를 받는 사원에 대해 급여를 200% 인상하고
보너스는 100% 인상하는 update문을 작성

(update후 데이터 확인후 commit)

UPDATE emp0620 a
SET a.pay = a.pay + a.pay * 2,
    a.bonus = a.bonus + a.bonus * 1  
WHERE a.deptno IN (10, 30) AND
      a.mgr IS NOT NULL AND
      a.bonus IS NOT NULL;

 

문제 2)  문제4번을 수행후 
emp,emp0620 테이블을 조인
부서코드 부서명 사원번호 사원명 인상전급여 인상후급여 인상전보너스 인상후보너스
(단,부서코드,사원코드순 정렬)

SELECT  a.deptno as 부서코드,
        c.dname as 부서명,
        a.empno as 사원번호,
        a.ename as 사원명,
        a.pay as 인상전급여,
        b.pay as 인상후급여,
        a.bonus as 인상전보너스,
        b.bonus as 인상후보너스
FROM emp a, emp0620 b, dept c
WHERE a.empno = b.empno AND 
      a.deptno = c.deptno AND
      a.deptno IN (10, 30)AND
      a.bonus is not null
ORDER BY a.deptno, a.empno;