Oracle DB ( insert , delete , update 실습)
개발/K-DigitalTraining 수강중2023. 3. 23. 13:02
728x90
반응형
--실습1
CREATE TABLE EXAM_EMP AS SELECT * FROM EMP;
CREATE TABLE EXAM_DEPT AS SELECT * FROM DEPT;
CREATE TABLE EXAM_SALGRADE AS SELECT * FROM SALGRADE;
INSERT INTO EXAM_EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(7201,'TEST_USER1','MANAGER' , 7788 , '2016/01/02', 4500,NULL,50);
INSERT INTO EXAM_EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(7202,'TEST_USER2','CLERK' , 7201 , '2016/02/21', 1800,NULL,50);
INSERT INTO EXAM_EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(7203,'TEST_USER3','ANALYST' , 7201 , '2016/04/11', 3400,NULL,60) ;
INSERT INTO EXAM_EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(7204, 'TEST_USER4' , 'SALESMAN' , 7201 , '2016/05/31', 2700,300,60);
INSERT INTO EXAM_EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(7205,'TEST_USER5','CLERK' , 7201 , '2016/07/20', 2600,NULL,70);
INSERT INTO EXAM_EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(7206,'TEST_USER6','CLERK' , 7201 , '2016/09/08', 2600,NULL,70);
INSERT INTO EXAM_EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(7207,'TEST_USER7','LECTURER' , 7201 , '2016/10/28', 2300,NULL,80);
INSERT INTO EXAM_EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(7208,'TEST_USER8','STUDENT' , 7201 , '2018/03/09', 1200,NULL,80);
SELECT * FROM EXAM_EMP;
--[실습3] EXAM_EMP에 속한 사원 중 50번 부서에서 근무하는 사원들의 평균 급여보다 많은 급여를 받고 있는 사원들을
--70번 부서로 옮기는 SQL 문 작성하기
UPDATE EXAM_EMP
SET DEPTNO = 70
WHERE DEPTNO IN
(
SELECT DEPTNO
FROM EXAM_EMP
WHERE SAL >
(
SELECT AVG(SAL)
FROM EMP
WHERE DEPTNO = 50
) );
--[실습4] EXAM_EMP에 속한 사원 중 60번 부서의 사원 중에서 입사일이 가장 빠른 사원보다
--늦게 입사한 사원의 급여를 10% 인상하고 80번 부서로 옮기는 SQL 문 작성하기
UPDATE EXAM_EMP
SET SAL = SAL * 1.1,
DEPTNO = 80
WHERE HIREDATE > (
SELECT MIN(HIREDATE)
FROM EXAM_EMP
WHERE DEPTNO = 60
);
--[실습5] EXAM_EMP에 속한 사원 중, 급여 등급이 5인 사원을 삭제하는 SQL문을 작성하기
DELETE FROM EXAM_EMP
WHERE E.EMPNO IN (SELECT E.EMPNO
FROM EXAM_EMP E, EXAM_SALGRADE S
WHERE E.SAL BETWEEN E.SAL AND S.LOSAL AND S.SALGRADE = 5) ;
COMMIT;
728x90
반응형
'개발 > K-DigitalTraining 수강중' 카테고리의 다른 글
Oracle DB + Java(eclipse) (사용자에게 입력받아 sql문 입력) (0) | 2023.03.23 |
---|---|
Oracle DB ( DML ) (0) | 2023.03.23 |
Oracle DB ( 서브쿼리 ) (0) | 2023.03.22 |
Oracle DB ( join 실습문제 ) (0) | 2023.03.22 |
Oracle DB ( join (inner join , outer join ) (1) | 2023.03.22 |
댓글()