본문 바로가기

DB

- 5 일차 SQL 과제 –

-     5 일차 SQL 과제

 

EMP 테이블의 복사본을 만든 후 아래 과제를 수행하세요.

 

.

CREATE TABLE emp_bak

AS

SELECT *

FROM emp;

 

1.    사원(EMP이름)테이블에서 직업(JOB)SALESMAN 인 사원 급여(SAL) 400 더하는 수정(UPDATE) 구문을 구하세요?


UPDATE emp1 SET sal=sal+400 WHERE job='SALESMAN';

 

2.    사원(EMP이름)테이블에서 급여(SAL)가 사원 평균급여 보다 높은 사원을 대상으로 고용일자(HIREDATE) 1년 더하는 수정(UPDATE) 구문을 구하세요?

 

 

UPDATE emp1  SET hiredate= hiredate+365

                 WHERE sal >(SELECT AVG(sal) FROM emp1);


UPDATE emp1 SEt hiredate = ADD_MONTHS(hiredate,12)
WHERE sal> (SELECT AVG(sal) FROM emp1)
   

   

3.    사원(EMP이름)테이블에서 전체 사원을 대상으로 COMM 컬럼에 100 을 더하고 직업(JOB)CLERK 인 사원은 현 급여에서 2, MANAGER 인 직업을 가진 사원은 현 급여에서 3, 이외 직업을 가진 사원은 현 급여에서 4배를 더하는 수정(UPDATE) 구문을 구하세요?

UPDATE emp1 SET comm= comm+100   

UPDATE emp1 SET sal=sal*2 WHERE job LIKE 'CLERK';
UPDATE emp1 SEt sal=sal*3 WHERE job LIKE 'MANAGER';
UPDATE emp1 SET sal=sal*4 WHERE job! = 'CLERK'  OR job != 'MANAGER'
       
   
   
UPDATE emp1 SET comm=comm+100
                                    ,sal = CASE job
                                                          WHEN 'CLERK' THEN sal*2
                                                          WHEN 'MANAGER' THEN sal*3
                                                          ELSE sal*4
                                                          END;

 

4.    사원(EMP이름)테이블에서 이름(ENAME)M으로 시작하는 사원

삭제(DELETE) 구문을 구하세요?

 

DELETE FROM emp1 WHERE ename LIKE 'M%';

 

 

5.     사원(EMP이름)테이블에서 급여(SAL)가 사원 평균급여 보다 높은 사원 삭제(DELETE) 구문을 구하세요?

DELETE FROM emp1 WHERE sal>(select AVG(sal) FROM emp1)


'DB' 카테고리의 다른 글

디비 문제  (0) 2010.09.02
- 4 일차 SQL 과제 –  (0) 2010.08.27
DB 5 일차 - 오전  (0) 2010.08.27
DB 4일차 오전  (0) 2010.08.26
- 3 일차 SQL 과제 –  (0) 2010.08.25