[DB] 테이블 생성 및 curd sql문 예제

0925과제

 

1. 사원번호, 사원명, 부서번호, 연봉, 직무를 저장하는 테이블을 생성(구조만 복사한다)

- 테이블명 : cp_emp3, 참조할 테이블명 emp

 

create table cp_emp3 as(

select empno, ename, deptno, sal, job

from emp

where 1=0

);

select * from CP_EMP3;

---------------------------------------------------------------------

 

2. 위에서 생성된 테이블에 레코드를 추가한다.

- emp테이블에서 매니저가 7698매니저가 관리하는 모든 사원 정보를 추가한다.(팁 삽입 복수행 서브쿼리)

 

insert into cp_emp3(empno, ename, deptno, sal, job) (

(

select empno, ename, deptno, sal, job

from emp

where mgr = 7698

)

);

---------------------------------------------------------------------

 

3. 위의 테이블에서 연봉이 1600인 사원의 직무를 emp테이블의 사원번호가 7369인 사원의 직무로 변경하라

 

update cp_emp3

set job = (select job from emp where empno = 7369)

where sal = 1600;

---------------------------------------------------------------------

 

4. 위의 테이블에서 연봉이 emp테이블의 사원명이 ward보다 많이 수령하는 사원을 삭제하라

 

delete from cp_emp3

where sal > (select sal from emp where ename = 'WARD');

---------------------------------------------------------------------

 

5. 우편번호 테이블에서 가장 큰 우편번호에서부터 seq를 제외한 모든 컬럼의 열건을 조회하라

 

select rownum, zipcode, sido, gugun, dong, bunji

from

(

select *

from zipcode

order by zipcode desc

)

where rownum between 1 and 10;

---------------------------------------------------------------------

 

6. emp테이블에서 매니저번호가 7698, 7839인 매니저가 관리하는 사원들의 사원번호, 사원명, 입사일, 연봉, 매니저번호를 조회하라

- 단, 출력은 사원명의 내림차순으로 정렬했을 때, 2~4번째 레코드만 출력하라.

- 입사일은 월-일-년의 형식으로 출력하라.

 

select empno, ename, to_char(hiredate, 'mm-dd-yyyy') hiredate, sal, mgr

from

(

select rownum r, empno, ename, hiredate, sal, mgr

from

(

select *

from emp

where mgr in(7698, 7839)

order by ename desc

)

)

where r between 2 and 4;