반응형
다중조인
3개 이상의 테이블 조인 시 사용하며 순서가 중요하다
--직급이 대리이면서 ASIA 지역에 근무하는 직원들
--사번, 사원명, 직급명, 부서명, 근무지역명, 급여 조회
--오라클 전용 구문
SELECT E.EMP_ID 사번, E.EMP_NAME 사원명, J.JOB_NAME 직급명, D.DEPT_TITLE 부서명, N.NATIONAL_NAME 근무지역명, E.SALARY 급여
FROM EMPLOYEE E, JOB J, DEPARTMENT D, LOCATION L, NATIONAL N
WHERE E.JOB_CODE = J.JOB_CODE
AND E.DEPT_CODE = D.DEPT_ID
AND D.LOCATION_ID = L.LOCAL_CODE
AND L.NATIONAL_CODE = N.NATIONAL_CODE
AND J.JOB_NAME = '대리'
AND L.LOCAL_NAME LIKE 'ASIA%';
--ANSI 구문
SELECT E.EMP_ID 사번, E.EMP_NAME 사원명, J.JOB_NAME 직급명, D.DEPT_TITLE 부서명, N.NATIONAL_NAME 근무지역명, E.SALARY 급여
FROM EMPLOYEE E
LEFT JOIN JOB J ON(E.JOB_CODE=J.JOB_CODE)
LEFT JOIN DEPARTMENT D ON(E.DEPT_CODE=D.DEPT_ID)
LEFT JOIN LOCATION L ON(D.LOCATION_ID=L.LOCAL_CODE)
LEFT JOIN NATIONAL N ON(L.NATIONAL_CODE=N.NATIONAL_CODE)
WHERE J.JOB_NAME = '대리'
AND L.LOCAL_NAME LIKE 'ASIA%';
--70년대생이면서 여자이고, 성이 전씨인 직원들
--사원명, 주민번호, 부서명, 직급명 조회
--오라클 전용 구문
SELECT EMP_NAME 사원명, EMP_NO 주민번호, DEPT_TITLE 부서명, JOB_NAME 직급명
FROM EMPLOYEE E, DEPARTMENT D, JOB J
WHERE E.DEPT_CODE=D.DEPT_ID
AND E.JOB_CODE=J.JOB_CODE
AND SUBSTR(EMP_NO,1,2) LIKE '7%'
AND SUBSTR(EMP_NO,8,1) IN('2','4')
AND EMP_NAME LIKE '전%';
--ANSI 구문
SELECT EMP_NAME 사원명, EMP_NO 주민번호, DEPT_TITLE 부서명, JOB_NAME 직급명
FROM EMPLOYEE E
LEFT JOIN DEPARTMENT D ON(E.DEPT_CODE=D.DEPT_ID)
LEFT JOIN JOB J ON(E.JOB_CODE=J.JOB_CODE)
WHERE SUBSTR(EMP_NO,1,2) LIKE '7%'
AND SUBSTR(EMP_NO,8,1) IN('2','4')
AND EMP_NAME LIKE '전%';
--사번, 사원명, 직급명, 급여등급, 구분 조회
-- 이 때, 구분에 해당하는 값은
-- 급여등급이 S1, S2 인 경우 '고급'
-- 급여등급이 S3, S4 인 경우 '중급'
-- 급여등급이 S5, S6 인 경우 '초급' 으로 조회
--오라클 전용 구문
SELECT E.EMP_ID 사번, E.EMP_NAME 사원명, J.JOB_NAME 직급명, SAL_LEVEL 급여등급
,CASE WHEN SAL_LEVEL IN ('S1','S2') THEN '고급'
WHEN SAL_LEVEL IN ('S3','S4') THEN '중급'
WHEN SAL_LEVEL IN ('S5','S6') THEN '초급'
END 구분
FROM EMPLOYEE E, JOB J
WHERE E.JOB_CODE=J.JOB_CODE;
반응형
'DB(SQL)' 카테고리의 다른 글
[SQL] 서브쿼리 - 단일행(단일열), 다중행(단일열) (0) | 2022.03.27 |
---|---|
[SQL] 서브쿼리 - 기본 정의 (0) | 2022.03.27 |
[SQL] JOIN - 비등가 조인, 자체 조인 (0) | 2022.03.27 |
[SQL] JOIN - 카테시안 곱, 교차조인 (0) | 2022.03.27 |
[SQL] JOIN - 포괄조인, 외부조인 (0) | 2022.03.26 |