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;
'예전 포스팅 모음' 카테고리의 다른 글
[DB] 제약 사항, ERD(Entity Relationship Diaglam) (0) | 2014.09.26 |
---|---|
[java] java.lang 패키지 (0) | 2014.09.25 |
[DB] sub query, rownum (0) | 2014.09.25 |
[DB] 조건별 sql select문 문제 예제 (0) | 2014.09.24 |
[DB] 변환 함수, 그룹 함수(집계 함수), 중복 배제(distinct), group by, 날짜 함수, 정렬 (0) | 2014.09.24 |