문제1.부서 테이블과 사원 테이블에서 사번,사원명,부서코드,부서명을 검색하시오.(사원명 오름차순 정렬할 것)
SELECT EMPNO,ENAME,DEPTNO,DNAME FROM EMP
NATURAL JOIN DEPT ORDER BY ENAME;
SELECT EMPNO,ENAME,EMP.DEPTNO,DNAME FROM EMP
JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO ORDER BY ENAME;
SELECT EMPNO,ENAME,DEPT.DEPTNO,DNAME FROM EMP
JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO ORDER BY ENAME;
문제2.부서 테이블과 사원 테이블에서 사번,사원명,급여,부서명을 검색하시오. 단, 급여가 2000 이상인 사원에 대하여 급여 기준으로 내림차순 정렬할 것.
SELECT EMPNO,ENAME,SAL,DNAME FROM EMP JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO
WHERE SAL>=2000 ORDER BY SAL DESC;
문제3.부서 테이블과 사원 테이블에서 사번,사원명,급여,부서명을 검색하시오. 단, 엄무가 Manager이며 급여가 2500 이상인 사원에 대하여 사번을 기준으로 오름차순 정렬할 것.
SELECT EMPNO,ENAME,SAL,DNAME FROM EMP JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO
WHERE JOB='MANAGER' AND SAL>=2500 ORDER BY EMPNO;
문제4.사원 테이블과 급여 등급 테이블에서 사번,사원명,급여,등급을 검색하시오. 단, 등급은 급여가 하한값과 상한값 범위에 포함되고 등급이 4이며 급여를 기준으로 내림차순 정렬할 것.
SELECT EMPNO,ENAME,SAL,GRADE FROM EMP JOIN SALGRADE
ON SAL BETWEEN LOSAL AND HISAL WHERE GRADE=4 ORDER BY SAL DESC;
문제5.부서 테이블,사원 테이블, 급여 등급 테이블에서 사번,사원명,부서명,급여,등급을 검색하시오. 단, 등급은 급여가 하한값과 상한값 범위에 포함되며 등급을 기준으로 내림차순 정렬할 것.
SELECT EMPNO,ENAME,DNAME,SAL,GRADE FROM EMP
JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO
JOIN SALGRADE ON SAL BETWEEN LOSAL AND HISAL ORDER BY GRADE DESC;
문제6.사원 테이블에서 사원명과 해당 사원의 관리자명을 검색하시오.
SELECT W.ENAME "사원명",M.ENAME "관리자명" FROM EMP
W JOIN EMP M ON W.MGR=M.EMPNO;
SELECT W.ENAME "사원명",M.ENAME "관리자명" FROM EMP
W LEFT JOIN EMP M ON W.MGR=M.EMPNO;
**문제7.사원 테이블에서 사원명, 해당 사원의 관리자명, 해당 사원의 관리자의 관리자명을 검색하시오.
SELECT W.ENAME "사원명",M.ENAME "관리자명",MM.ENAME "관리자의 관리자명"
FROM EMP W JOIN EMP M ON W.MGR=M.EMPNO JOIN EMP MM ON M.MGR=MM.EMPNO;
문제8. 7번 결과에서 상위 관리자가 없는 모든 사원의 이름도 사원명에 출력되도록 수정하시오.
SELECT W.ENAME "사원명",M.ENAME "관리자명",MM.ENAME "관리자의 관리자명" FROM EMP W
LEFT JOIN EMP M ON W.MGR=M.EMPNO LEFT JOIN EMP MM ON M.MGR=MM.EMPNO;