서브쿼리 연습문제

NA YE SOM·2023년 7월 7일
0
post-custom-banner

1.사원번호가 1001인 사원과 동일한 직급(POSITION)을 가진 사원을 조회하시오.

  1. 부서번호가 2인 부서와 동일한 지역에 있는 부서를 조회하시오.

3.가장 높은 급여를 받는 사원을 조회하시오.

  1. 평균 급여 이하를 받는 사원을 조회하시오.

  1. 평균 근속 개월 수 이상을 근무한 사원을 조회하시오.

-평균 근속 개월 수 : 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);

  1. 부서번호가 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 칼럼이 아니므로 다중 행 서브쿼리로 처리한다.

  1. 부서명이 '영업부'부서에 근무하는 사원을 조회하시오.

<서브쿼리>

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

  1. 직급이 '과장'인 사원들이 근무하는 부서 정보를 조회하시오.

<서브쿼리>

<조인>

  1. '영업부'에서 가장 높은 급여를 받는 사람보다 더 높은 급여를 받는 사원을 조회하시오.

<서브쿼리>

<조인>

  1. 3~4번째로 입사한 사원을 조회하시오.

profile
개발자 velog
post-custom-banner

0개의 댓글