답지
- 사원들의 이름, 부서 번호, 부서 이름 출력하기
SELECT ENAME, e.DEPTNO, d.DNAME
FROM EMP e, DEPT d
WHERE e.DEPTNO=d.DEPTNO
- 부서 번호가 30번인 사원들의 이름, 직급, 부서 번호, 부서 위치를 출력
SELECT d.ENAME, d.JOB, e.DEPTNO, d.LOC
FROM EMP e, DEPT d
WHERE e.DEPTNO=d.DEPTNO AND d.DEPTNO=30
- 커미션을 받는 사원의 이름, 커미션, 부서 이름, 부서 위치를 출력 (커미션 0인 사람도 제외)
SELECT e.ENAME, e.COMM, d.DNAME, d.LOC
FROM EMP e, DEPT d
WHERE e.DEPTNO=d.DEPTNO AND COMM <> 0
- DALLAS에서 근무하는 사원의 이름, 직급, 부서 번호, 부서 이름을 출력
SELECT e.ENAME, e.JOB, e.DEPTNO, d.DNAME
FROM EMP e, DEPT d
WHERE e.deptno=d.deptno and d.LOC='DALLAS'
- 이름에 A가 들어가는 사원들의 이름과 부서 이름을 출력
select ename, dname
from emp e, dept d
where e.deptno=d.deptno and ename like '%A%';
- 사원 이름과 직급, 급여, 급여 등급을 출력
select e.ename, e.job, e.sal, s.grade
from emp e, salgrade s
where sal between losal and hisal
- 사원 이름, 부서 번호, 해당 사원과 같은 부서에서 근무하는 사원을 출력, 나를 제외한 (셀프 조인)
select e1.ename as "본인", e1.deptno as"부서", e2.ename as "동료", e2.deptno as "부서확인"
from emp e1, emp e2
where e1.deptno=d2.deptno
and e1.ename <> e2.ename
order by e1.ename asc
- 부서 번호가 20번인 사원 중에 최대 급여를 받는 사원과
동일한 급여를 받는 사원의 사원 번호와 사원 명을 출력 (단일 행 서브쿼리)
select empno, ename
from emp
where sal=(select max(sal)
from dept
where deptno=20)
- MILLER의 급여와 동일하거나 더 많이 받는 사원 명, 급여를 출력
select ename, sal
from emp
where sal>=( select sal
from dept
where dname='MILLER')