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 대절님

댓글을 달아 주세요



티스토리 툴바