2008년 4월 2일.
Posted 2008/05/07 17:47, Filed under: Oracle9i5. 이름이 ‘ALLEN’인 사원의 부서 이름을 출력하여라.
SQL> ed
file afiedt.buf(이)가 기록되었습니다
1 select e.dept, d.dname
2 from emp e, dept d
3* where e.deptno = d.deptno and ename = 'ALLEN'
SQL> ;
SQL> /
DNAME
--------------
SALES
6. ‘ALLEN’과 직무가 같은 사원의 이름, 부서 이름, 급여, 부서 위치를 출력하여라.
SQL> select e.ename, d.dname, e.sal, d.loc
2 from emp e, dept d
3 where e.deptno = d.deptno and e.job = (select job from emp where ename = 'ALLEN')
4 ;
ENAME DNAME SAL LOC
---------- -------------- ---------- -------------
ALLEN SALES 1600 CHICAGO
WARD SALES 1250 CHICAGO
MARTIN SALES 1250 CHICAGO
TURNER SALES 1500 CHICAGO
7. 전체 사원의 평균 급여보다 급여가 많은 사원의 사원 번호, 이름, 부서 이름, 입사일, 부서 위치, 급여를 출력하여라.
SQL> select e.empno, e.ename, d.dname, e.hiredate, d.loc, e.sal
2 from emp e, dept d
3 where e.deptno = d.deptno and e.sal > (select avg(sal) from emp)
4 ;
EMPNO ENAME DNAME HIREDATE LOC SAL
---------- ---------- -------------- -------- ------------- ----------
7566 JONES RESEARCH 81/04/02 DALLAS 2975
7698 BLAKE SALES 81/05/01 CHICAGO 2850
7782 CLARK ACCOUNTING 81/06/09 NEW YORK 2450
7788 SCOTT RESEARCH 87/04/19 DALLAS 3000
7839 KING ACCOUNTING 81/11/17 NEW YORK 5000
7902 FORD RESEARCH 81/12/03 DALLAS 3000
6 개의 행이 선택되었습니다.
8. 10번 부서 사원들 중에서 20번 부서의 사원과 같은 직무를 갖는 사원의 사원 번호, 이름, 부서 이름, 입사일, 부서 위치를 출력하여라.
SQL> select d.deptno, e.ename, d.dname, e.hiredate, d.loc
2 from emp e, dept d
3 where e.deptno = d.deptno and e.job in (select job from emp where deptno = 20)
4 ;
DEPTNO ENAME DNAME HIREDATE LOC
---------- ---------- -------------- -------- -------------
20 SCOTT RESEARCH 87/04/19 DALLAS
20 FORD RESEARCH 81/12/03 DALLAS
20 SMITH RESEARCH 80/12/17 DALLAS
20 ADAMS RESEARCH 87/05/23 DALLAS
10 MILLER ACCOUNTING 82/01/23 NEW YORK
30 JAMES SALES 81/12/03 CHICAGO
20 JONES RESEARCH 81/04/02 DALLAS
10 CLARK ACCOUNTING 81/06/09 NEW YORK
30 BLAKE SALES 81/05/01 CHICAGO
9 개의 행이 선택되었습니다.
9. ‘ALLEN’의 급여보다 많고 ‘SCOTT’의 급여보다 적은 사원의 사원 번호, 이름, 부서 이름, 부서 위치, 급여를 급여가 많은 순으로 출력하여라.
SQL> select e.empno, e.ename, d.dname, d.loc, e.sal
2 from emp e, dept d
3 where e.deptno = d.deptno and e.sal > (select sal from emp where ename = 'ALLEN') and e.sal < (
select sal from emp where ename = 'SCOTT')
4 ;
EMPNO ENAME DNAME LOC SAL
---------- ---------- -------------- ------------- ----------
7566 JONES RESEARCH DALLAS 2975
7698 BLAKE SALES CHICAGO 2850
7782 CLARK ACCOUNTING NEW YORK 2450
16. 모든 사원들의 평균 급여 보다 많이 받는 사원들의 사원 번호와 이름을 출력하여라.
SQL> select d.deptno, e.ename
2 from emp e, dept d
3 where e.deptno = d.deptno and e.sal > (select avg(sal) from emp)
4 ;
DEPTNO ENAME
---------- ----------
20 JONES
30 BLAKE
10 CLARK
20 SCOTT
10 KING
20 FORD
6 개의 행이 선택되었습니다.
17. ‘FORD’와 부서가 같은 사원들의 이름, 부서 이름, 직무, 급여를 출력하여라.
SQL> select e.ename, e.ename, e.job, e.sal
2 from emp e, dept d
3 where e.deptno = d.deptno and e.deptno=(select d.deptno from emp e, dept d where e.deptno = d.d
eptno and e.ename = 'FORD')
4 ;
ENAME ENAME JOB SAL
---------- ---------- --------- ----------
SMITH SMITH CLERK 800
JONES JONES MANAGER 2975
SCOTT SCOTT ANALYST 3000
ADAMS ADAMS CLERK 1100
FORD FORD ANALYST 3000
18. 부서 이름이 ‘SALES’인 사원들의 평균 급여보다 많고, 부서 이름이 ‘RESEARCH’인 사원들의 평균 급여보다 적은 사원들의 이름, 부서 번호, 급여, 직무를 출력하여라.
SQL> select e.ename ,e.deptno,e.sal,e.job from emp e ,dept d
2 where e.deptno = d.deptno and
3 e.sal >(select avg(e.sal) from emp e ,dept d
4 where e.deptno = d.deptno and d.dname ='SALES') and
5 e.sal < (select avg(e.sal) from emp e ,dept d
6 where e.deptno = d.deptno and d.dname ='RESEARCH')
7 ;
ENAME DEPTNO SAL JOB
---------- ---------- ---------- ---------
ALLEN 30 1600 SALESMAN
'Oracle9i' 카테고리의 다른 글
| SQL*PLUS (0) | 2008/05/08 |
|---|---|
| 2008년 4월 2일. (0) | 2008/05/07 |
| 2008년 3월 28일. (0) | 2008/05/07 |
| 2008년 3월 19일. (0) | 2008/05/07 |
Trackback URL : http://trustnoone.tistory.com/trackback/670
이올린에 북마크하기
이올린에 추천하기