Oracle 4강

programing/Oracle 2009.04.13 21:31


<   SUBQUERY   실습문제  >

1.  SMITH 보다 월급을  많이 받는 사원들의 이름과 월급을 출력하라 ?
select ename, sal
from emp
where sal > (select sal
from emp
where ename = 'SMITH');

2.  10 번 부서의 사원들과 같은 월급을 받는 사원들의 이름과 월급과 부서
   번호를 출력하라 ?
select ename, sal, deptno
from emp
where sal in(select sal
from emp
where deptno = 10);

3. BLAKE 와 같은 부서에 있는 사람들의 이름과 입사일을 출력하되  BLAKE는 제외
 select ename, hiredate
 from emp
 where deptno IN(select deptno
            from emp
            where ename = 'BLAKE')
 AND ename IN(select ename
            from emp
            where ename != 'BLAKE')
4. 평균 급여보다 많은 급여를 받는 사원들의 사번, 이름, 월급을 나타내되 월급이 높은 사람 순으로  출력하라 ?
select empno, ename, sal
from emp
where sal > (select avg(sal)
from emp)
order by sal desc

5. 이름에  T  를 포함하고 있는 사원들과  동일한 부서에서 근무하고 있는 사원의 사원 번호와 이름을  출력하라 ?
select empno, ename
from emp
where deptno IN (select deptno
from emp
where ename like '%T%')

6. 30번 부서의 최고 급여를 받는 사원 보다도 더 많은 급여를 받는 전체 사원들을 출력하라 ( 단  all 또는 any 를 사용)
select ename, sal
from emp
where sal >all (select max(sal)
from emp
where deptno = 30)

7. 부서 위치가 DALLAS 인  모든 사원의 이름, 부서 번호 및 직업을 출력하라 ?
select ename, deptno, job
from emp
where deptno = (select deptno
from dept
where loc = 'DALLAS')

8.  SALES  부서의 모든 사원에 대한 부서번호, 이름 및 직업을 출력하라 ?
select deptno, ename, job
from emp
where deptno = (select deptno
from dept
where dname = 'SALES')


9.  KING 에게  보고 하는 모든 사원의 이름과 급여를 출력하라 ? (즉 직속상사가 KING인 사원)
select ename, sal
from emp
where mgr = (select empno
from emp
where ename = 'KING');
10.  자신의  급여가 사원 평균 급여보다 많은 사원중에서 이름에 S자 들어가는  사원과
동일 부서인  모든  사원의 사원번호, 이름  및 급여를 출력하라 ?

select empno, ename, sal, deptno
from emp
where deptno IN (select deptno
                  from emp
                  where sal > (select avg(sal)
                               from emp) and ename like '%S%')

주말숙제!!!!
급여가 많은순 , 사원의 사번, 이름, 급여 출력?(단 3명만)
>select empno, ename, sal, rownum
>from (select empno, ename, sal  <-- FROM절에 VIEW에 쓸내용을 서브쿼리로 테이블을 만들어줌.
>      from emp        이것을 INLINE-VIEW라고 함.
>      order by sal desc)      from 절에 사용하는 orderby는 의미가 있으므로사용가능함.
>where rownum <=3;       이것은 8i R2 이후 사용 

FROM 절에 orderby 안쓰고 출력


 

'programing > Oracle' 카테고리의 다른 글

Oracle 6강  (0) 2009.04.13
Oracle 5강  (0) 2009.04.13
Oracle 4강  (0) 2009.04.13
Oracle 3강  (0) 2009.04.13
Oracle 2강  (0) 2009.04.13
Oracle 1강  (0) 2009.04.13
Posted by 대절님

댓글을 달아 주세요