Q. 매니저가 'KING'인 사원들의 이름과 직급을 출력하세요
select e.ename,e.job,e.mgr from emp e, emp dd
where dd.empno = e.mgr and dd.ename = 'KING';
Q. JONES와 동일한 근무지에서 근무하는 사원이름과 월급, 근무지를 출력하세요 (단, JONES는 제외하세요)
select f.ename, f.sal, d.loc
from emp e, emp f, dept d
where e.deptno = d.deptno and e.deptno = f.deptno
and e.ename= 'JONES' and f.ename <> 'JONES';
Q. 이름이 'SMITH'인 사원의 매니저(상관) 이름을 출력하세요
select e.ename || '의 매니저는 ' || m.ename ||' 입니다.'
from emp e, emp m
where e.mgr = m.empno
and e.ename = 'SMITH';
Q. emp 테이블의 사원들의 이름과 매니저이름을 출력하세요
select e.ename"사원 이름" , m.ename as "상관 이름"
from emp e, emp m
where e.mgr = m.empno;
Q. 상관번호 없는 사람도 나오게 하고 싶으면?
select e.ename"사원 이름" , m.ename as "상관 이름"
from emp e, emp m
where e.mgr = m.empno(+); //매니저가 없는 사원번호에 +를 준다
Q. 사원이름에 'T'자가 들어가는 사원들의 이름과 부서명을 출력하세요
select e.ename,d.dname from emp e, dept d
where e.deptno = d.deptno and e.ename like '%T%';
Q. 사원 이름과 직급, 급여, 급여등급을 출력하세요
select e.ename,e.job, e.sal, s.grade from emp e,salgrade s
where e.sal between s.losal and s.hisal;
select e.ename,e.job, e.sal, s.grade from emp e,salgrade s
where e.sal >= s.losal and e.sal <= s.hisal;
select e.ename,e.job, e.sal, s.grade
from emp e natural join salgrade s
where e.sal between s.losal and s.hisal;
Q. 'DALLAS'에서 근무하는 사원들의 이름, 직급, 부서번호, 부서이름을 출력하시오.
select e.ename, e.job, e.deptno, d.dname
from emp e, dept d
where e.deptno = d.deptno
and d.LOC = 'DALLAS';
Q. 'SMITH'의 사원 이름, 부서번호와 'SMITH'와 같은 부서에 있는 사원 이름을 출력하시오.
(해당 사원과 같은 부서에 있는 사원을 '동료'라고 표시하세요)
select e.ename,e.deptno,ee.ename 동료
from emp e, emp ee
where e.deptno = ee.deptno
and e.ename = 'SMITH'
and ee.ename <> 'SMITH';