[ORACLE] SQL DEVELOPER 3일차 - 함수과제 문제풀이

jeong·2021년 6월 7일
0

Oracle(SQL) 오라클

목록 보기
8/16

문제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; 
profile
배우는 초보개발자

0개의 댓글