본문 바로가기

개발/오라클

오라클 쿼리 연습 : 서브쿼리 연습

SCOTT 테이블 문제


SCOTT 사용자의 테이블(BONUS, DEPT, EMP, SALGRADE)

BONUS 테이블의 컬럼 : ENAME, JOB, SAL, COMM

DEPT 테이블의 컬럼 : DEPTNO, DNAME, LOC

EMP 테이블의 컬럼 : EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO

SALGRADE 테이블의 컬럼 : GRADE, LOSAL, HISAL



서브쿼리 문제들입니다. 생각보다 어렵진 않으니 한번 해보고 결과물과 비교해 봅시다.


1. 'SMITH'보다(ENAME) 월급(SAL)을 많이 받는 사원들의 이름(ENAME)과 월급(SAL)을 출력하되. 월급이 적은 순으로 출력하세요.(EMP 테이블)

(결과물)



2. 10번 부서(DEPTNO)의 사원들과 같은 월급을 받는 사원들의 이름(ENAME), 월급(SAL), 부서번호(DEPTNO)를 출력하세요.(EMP 테이블)

(결과물)



3. 'BLAKE'와(ENAME) 같은 부서에 있는 사원들의 이름(ENAME)과 고용일(HIREDATE)을 뽑는데 'BLAKE'는 빼고 출력하세요.(EMP 테이블)

(결과물)



4. 평균급여보다 많은 급여를 받는 사원들의 사원번호(EMPNO), 이름(ENAME), 월급(SAL)을 출력하되, 월급이 높은 사람 순으로 출력하세요.(EMP 테이블)

(결과물)



5. 이름에 'T'를 포함하고 있는 사원들과 같은 부서(DEPTNO)에서 근무하고 있는 사원의 사원번호(EMPNO)와 이름(ENAME)을 출력하세요.(EMP 테이블)

(결과물)



6. 30번 부서(DEPTNO)에 있는 사원들 중에서 가장 많은 월급(SAL)을 받는 사원보다 많은 월급(SAL)을 받는 사원들의 이름(ENAME), 부서번호(DEPTNO), 월급(SAL)을 출력하세요.(EMP 테이블)

(결과물)



7. 'DALLAS'에서 근무하고 있는 사원과 같은 부서에서 일하는 사원의 이름(ENAME), 부서번호(DEPTNO), 직업(JOB)을 출력하세요. (DEPT, EMP 테이블 둘 다 쓰임.)

(결과물)



8. 'KING'에게(ENAME) 보고하는('KING'의 ENAME 과 MGR(매니저번호)가 같은)  모든 사원의 이름(ENAME)과 급여(SAL)를 출력하세요.(EMP 테이블)

(결과물)



9. 자신의 급여가 평균 급여보다 많고, 이름에 'S'가 들어가는 사원과 동일한 부서에서 근무하는 모든 사원의 사원번호, 이름, 급여를 출력하세요. (EMP 테이블)

(결과물)



10. 커미션(COMM)을 받는 사원과 부서번호(DEPTNO), 월급(SAL)이 같은 사원의 이름, 월급, 부서번호를 출력하세요.(EMP 테이블)

(결과물)

11. 30번 부서 사원들의 월급(SAL)과 커미션(COMM)이 같지 않은 사원들의 이름(ENAME), 월급(SAL), 커미션(COMM)을 출력하세요.(EMP 테이블)

(결과물)



12. 'WARD'가(ENAME) 소속된 부서 사원들의 평균 급여보다 , 급여가 높은 사원의 이름(ENAME) , 급여(SAL)를 출력하세요.(EMP 테이블)


(결과물)



13.ALLEN과 부서가 같은 사원들의 사원명, 입사일을 출력하되 높은 급여순으로 출력하세요.(EMP 테이블)

(결과물)



14.가장 높은 급여를 받는 사원보다 입사일이 늦은 사원의 이름, 입사일을 출력하세요.(EMP 테이블)

(결과물)



15. 20번 부서의 최고 급여보다 많은 사원의 사원번호,사원명,급여를 출력하세요.(EMP 테이블)

(결과물)



16. 'SMITH'와(ENAME) 같은 부서에 속한 사원들의 평균 급여보다 큰 급여를 받는 모든 사원의 사원명,급여를 출력하세요.(EMP 테이블)

(결과물)



17. 'SCOTT'의(ENAME) 급여(SAL)에서 1000 을 뺀 급여보다 적게 받는 사원의 이름, 급여를 출력하세요. (EMP 테이블)

(결과물)



18. JOB이 'MANAGER'인 사원들 중 최소급여를 받는 사원보다  급여가 적은 사원의 이름, 급여를 출력하세요. (EMP 테이블)

(결과물)



19.최소급여를 받는 사원과 같은 부서의 모든 사원명(ENAME)을 출력하세요.(EMP 테이블)

(결과물)



20. 'SALES' 부서(DNAME)에서 일하는 사원들의 부서번호(DEPTNO), 이름(ENAME), 직업(JOB)을 출력하시오. (DEPT, EMP 테이블 둘 다 쓰임.)

(결과물)



21. EMP 테이블에서 사원번호가 7521인 사원의 직업과 같고 사원번호가 7934인 사원의 급여(SAL)보다 많은 사원의 사원번호, 이름, 직업, 급여를 출력하세요.(EMP 테이블)

(결과물)


22. 각 부서 별 입사일이 가장 오래된 사원을 한 명씩 선별해 사원번호, 사원명, 부서번호, 입사일을 출력하세요.(EMP 테이블)

(결과물)



23. 사원명의 첫 글자가 ‘A’이고, 처음과 끝 사이에 ‘LL’이 들어가는 사원의 커미션이 COMM2일때, 모든 사원의 커미션에 COMM2를 더한 결과를 사원명, COMM, COMM2, COMM+COMM2로 출력하세요.(EMP 테이블)

(결과물)



24. EMP 테이블에서 가장 많은 사원이 속해있는 부서번호와 사원수를 출력하세요.(EMP 테이블)(GROUP BY, HAVING)

(결과물)



25. EMP 테이블에서 가장 많은 사원을 갖는 MGR의 사원번호를 출력하라.(EMP 테이블)

(결과물)