/*
- Join / Inline query
- 국가, 근무지, 부서명, 부서장, 직군(인라인), 사원번호, 사원명, 전화번호
*/
- 셀프조인 부분을 주의하자
- 인라인 쿼리 : 컬럼 한 개 기준으로는 조인보다 속도가 빠르다.
- 아우터 조인 : 데이터가 없을 때는 안 가져오겠다.
SELECT COU.COUNTRY_NAME AS 국가
, LOC.CITY AS 근무지
, DEPT.DEPARTMENT_NAME AS 부서명
, MNG.FIRST_NAME || ' ' || MNG.LAST_NAME AS 부서장
, (SELECT JOB_TITLE
FROM JOBS JOB
WHERE JOB.JOB_ID = EMP.JOB_ID) AS JOB_TITLE
, EMP.EMPLOYEE_ID AS 사원번호
, EMP.FIRST_NAME || ' ' || EMP.LAST_NAME AS 사원명
, EMP.PHONE_NUMBER AS 전화번호
FROM COUNTRIES COU,
LOCATIONS LOC,
DEPARTMENTS DEPT,
EMPLOYEES EMP,
EMPLOYEES MNG
WHERE COU.COUNTRY_ID = LOC.COUNTRY_ID
AND LOC.LOCATION_ID = DEPT.LOCATION_ID
AND DEPT.DEPARTMENT_ID = EMP.DEPARTMENT_ID
AND EMP.MANAGER_ID = MNG.EMPLOYEE_ID(+)
ORDER BY EMP.EMPLOYEE_ID
;