SUBQUERY (23.05.20)

·2023년 5월 22일
0

Coding Test

목록 보기
22/39
post-thumbnail

✏️ 문제 1

2000년도에 입사한 사원의 부서와 직급이 같은 사원을 조회하시오.
(사번, 이름, 부서코드, 직급코드, 고용일)

  • 풀이
SELECT EMP_ID, EMP_NAME, DEPT_CODE, JOB_CODE, HIRE_DATE
FROM EMPLOYEE
WHERE (DEPT_CODE, JOB_CODE) = (SELECT DEPT_CODE, JOB_CODE
                                FROM EMPLOYEE
                                WHERE SUBSTR(HIRE_DATE, 1, 2) = 00);

✏️ 문제 2

77년생 여자 사원과 동일한 부서이면서 동일한 사수를 가지고 있는 사원을 조회하시오.
(사번, 이름, 부서코드, 사수번호, 주민번호, 고용일)

  • 풀이
SELECT EMP_ID, EMP_NAME, DEPT_CODE, MANAGER_ID, EMP_NO, HIRE_DATE
FROM EMPLOYEE
WHERE (DEPT_CODE, MANAGER_ID) = (SELECT DEPT_CODE, MANAGER_ID
                                FROM EMPLOYEE
                                WHERE SUBSTR(EMP_NO, 1, 2) = 77
                                AND SUBSTR(EMP_NO, 8, 1) = 2);

✏️ 문제 3

노옹철 사원과 같은 부서, 같은 직급인 사원을 조회하시오. (단, 노옹철 사원은 제외)
(사번, 이름, 부서코드, 직급코드, 부서명, 직급명)

  • 풀이
SELECT EMP_ID, EMP_NAME, DEPT_CODE, JOB_CODE, DEPT_TITLE, JOB_NAME
FROM EMPLOYEE
LEFT JOIN DEPARTMENT ON(DEPT_CODE = DEPT_ID)
NATURAL JOIN JOB -- 자연 조인(컬럼명, 데이터 타입 일치하는 두 컬럼을 연결)
WHERE (DEPT_CODE, JOB_CODE) = (SELECT DEPT_CODE, JOB_CODE
                                FROM EMPLOYEE
                                WHERE EMP_NAME = '노옹철')
AND EMP_NAME != '노옹철';
profile
풀스택 개발자 기록집 📁

0개의 댓글