[SQL] DML, UPDATE 예제

정은아·2022년 9월 13일
0

Q. 비어있는 emp_08 테이블을 만들고, 서브쿼리를 사용하여 10번 부서의 사원들을 갖는 테이블을 만드시오

   1.
   create table emp_08
   as
   select * from emp where deptno = 10;

   2.
   create table emp_09
   as
   select * from emp where 1 = 0

   insert into emp_09
   select * from emp 
   where deptno = 10;

   insert into emp_09(ename, sal, hiredate)
   values('seoul',2300,'22/08/31');

   insert into emp_09(ename, sal, hiredate)
   values('busan',2500,sysdate); //오늘 날짜 넣는 방법

Q. emp_hir 테이블의 'scott'의 empno = 5555로 변경

update emp_hir
set empno = 5555
where ename = 'SCOTT';

Q. emp_hir 테이블 사원들의 입사일을 어제 날짜로 바꾸시오

update emp_hir
set hiredate = sysdate-1;

Q. emp_02 테이블의 사원들 중 이름에 'T'가 들어있는
사원들의 월급을 1300으로 바꾸세요

   update emp_02
   set sal = 1300
   where ename LIKE '%T%';

Q. emp_02 테이블의 'MANAGER'의 입사일을 어제로 바꾸세요

   update emp_02
   set hiredate = sysdate-1
   where job = 'MANAGER';

Q. emp_02 테이블의 사원중에 급여가 3000이상인 사원들의
급여가 50% 인상하고 입사일을 '22/01/01'로 바꾸시오

   update emp_02
   set sal = sal * 1.5, hiredate = '22/01/01'
   where sal >= 3000;

Q. '01'월에 입사한 사원의 월급을 10000원 인상하시오

   update emp_02
   set sal = sal + 10000
   where hiredate = SUBSTR(hiredate,4,2)='01';

Q. 'DALLAS'에 근무하는 사원들의 월급을 5000원 인상하시오

   update emp_02
   set sal = sal + 5000
   where deptno = (select deptno from dept where loc = 'DALLAS');

Q. emp_02 테이블의 모든 사원의 급여와 입사일을 'KING' 사원의 급여와 입사일로 바꾸시오.(2가지)

   update emp_02
   set sal = (select sal from emp_02 where ename = 'KING'),
   hiredate = (select hiredate from emp_02 where ename = 'KING');

   update emp_02
   set (sal,hiredate) = (select sal, hiredate from emp_02 where ename = 'KING');

Q. dept_02 테이블에서 20번 부서의 지역명을 40 번 부서의 지역명으로 바꾸세요

1. update dept_02 set loc
= (select loc from dept_02 where deptno =40)
where deptno in(20);
2. update dept_02 set loc
= (select loc from dept_02 where deptno =40)
where deptno =20;

Q. emp_02 테이블에서 'SALESMAN'의 급여는 2500 입사일을 그제 날짜로 바꾸세요.

update emp_02 set sal = 2500,hiredate=sysdate-2  
         where job ='SALESMAN';

Q. emp_02 테이블의 사원이름에 'T'가 들어가는 사원의
월급을 7000원 인상하고 입사일을 모레로 바꾸세요

  ```

update emp_02 set sal = sal +7000,hiredate = sysdate +2
where ename like '%T%';

        
Q. emp_02 테이블에서'CHICAGO'에서 근무하는 사원들의 입사일을 본인의 생일로 바꾸세요

 update emp_02 set hiredate = '94/06/23' where deptno 
=(select deptno from dept_02 where loc = 'CHICAGO');

Q. emp_02테이블의 사원들 중에서 '09'월에 입사한 사원들의 월급을 1000원 인상하세요 3가지 방법 사용 (substr,instr,to_char)

  update emp_02 set sal =sal+1000 where substr(hiredate,4,2)='09';               
  update emp_02 set sal =sal+1000 where instr(hiredate,'09',4,1)=4;
profile
꾸준함의 가치를 믿는 개발자

0개의 댓글