1.사원번호가 1001인 사원과 동일한 직급(POSITION)을 가진 사원을 조회하시오.
- 부서번호가 2인 부서와 동일한 지역에 있는 부서를 조회하시오.
3.가장 높은 급여를 받는 사원을 조회하시오.
- 평균 급여 이하를 받는 사원을 조회하시오.
- 평균 근속 개월 수 이상을 근무한 사원을 조회하시오.
-평균 근속 개월 수 : MONTHS_BETWEEN(SYSDATE, HIRE_DATE)
SELECT EMP_NO, NAME, DEPART, GENDER, POSITION, HIRE_DATE, SALARY
FROM EMPLOYEE_T
WHERE MONTHS_BETWEEN(SYSDATE, HIRE_DATE) > = (SELECT AVG(MONTHS_BETWEEN(SYSDATE, HIRE_DATE)) FROM EMPLOYEE_T);
- 부서번호가 2인 부서에 근무하는 사원들의 직급과 일치하는 사원을 조회하시오.
SELECT EMP_NO, NAME, DEPART, GENDER, POSITION, HIRE_DATE, SALARY
FROM EMPLOYEE_T
WHERE POSITION IN(SELECT POSITION
FROM EMPLOYEE_T
WHERE DEPART = 2);
--WHERE절에서 사용한 DEPART 칼럼이 PK/UNIQUE 칼럼이 아니므로 다중 행 서브쿼리로 처리한다.
- 부서명이 '영업부'인 부서에 근무하는 사원을 조회하시오.
<서브쿼리>
SELECT EMP_NO, NAME, DEPART, GENDER, POSITION, HIRE_DATE, SALARY
FROM EMPLOYEE_T
WHERE DEPART IN (SELECT DEPT_NO
FROM DEPARTMENT_T
WHERE DEPT_NAME = '영업부');
--WHERE절에서 사용한 DEPART 칼럼이 PK/UNIQUE 칼럼이 아니므로 다중 행 서브쿼리로 처리한다.
<조인>
SELECT E.EMP_NO, E.NAME, E.DEPART, E.GENDER, E.POSITION, E.HIRE_DATE, E.SALARY
FROM DEPARTMENT_T D INNER JOIN EMPLOYEE_T E
ON D.DEPT_NO = E.DEPART
- 직급이 '과장'인 사원들이 근무하는 부서 정보를 조회하시오.
<서브쿼리>
<조인>
- '영업부'에서 가장 높은 급여를 받는 사람보다 더 높은 급여를 받는 사원을 조회하시오.
<서브쿼리>
<조인>
- 3~4번째로 입사한 사원을 조회하시오.