SubQuery 연습.

DBTool/Oracle 2009. 7. 7. 09:28

-- martin이 근무하는 부서의 부서명과 지역조회
select dname, loc
from dept
where deptno=
(
select deptno
from emp
where ename='MARTIN'
)

--3000이상의 급여를 받는 사람의 근무하는 부서의 부서번호,사원명,급여조회
select deptno, ename, sal
from emp
where deptno in
(
select distinct(deptno)
from emp
where sal>=3000
)
order by deptno, sal

1.scott의 급여 이상을 받은 사원의 이름,급여,커미션
select ename, sal, comm
from emp
where sal>=
(
select sal from emp where ename='SCOTT'
) and ename<>'SCOTT'

2.clerk업무에 종사하는 사원이 근무하는 부서명?
select dname
from dept
where deptno in
(
select distinct(deptno) from emp where job='CLERK'
)

3.이름에 L을 포함하는 사원과 동일한 부서에 근무하는 사원 모든정보
select *
from emp
where deptno in
(
select distinct(deptno) from emp where ename like '%L%'
)
order by deptno asc, ename asc

4.DALLAS소재부서에 근무하는 사원 모든정보
select *
from emp
where empno in
(
select distinct(empno) from dept where loc='DALLAS'
)

5.SALES부서에 근무하는사원들의 모든정보
select *
from emp
where deptno in
(
select distinct(deptno) from dept where dname='SALES'
)

6.KING에게 보고하느 모든 사원들의 이름과 급여조회
select ename, sal
from emp
where mgr in
(
select distinct(empno) from emp where ename='KING'
)

7.자신의 급여가 전체사원의 평균급여보다 많고,
이름에 S가 들어가는 사원과 동일한 부서에 근무한 사원들의 모든정보
select *
from emp
where empno in
(
select distinct(empno)
from emp
where ename like '%S%'
and sal>=(select avg(sal) from emp)
)

Posted by 말없제이
,