답지

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