기준은 직원 테이블이고, 상사가 없으면 오른쪽만 비어 있습니다
SELF LEFT JOIN
은 조직도의 최상위 직원까지 남기고, 붙일 상사 행이 없을 때만
NULL
을 만듭니다.
#16a34a LEFT JOIN
SETUP
employees e의 모든 행을 먼저 둔 뒤 자기 자신과 연결
FROM employees e LEFT JOIN employees m ON e.manager_id = m.emp_id
김대표
manager_id = NULL
이부장
상사: 김대표
박과장
상사: 이부장
최사원
상사: 박과장
RESULT
LEFT JOIN
INNER JOIN
기준
직원 행을 먼저 유지한 뒤 상사 정보를 붙입니다.
상사 행까지 매칭된 직원만 남깁니다.
김대표 행
결과에 남음
김대표 | NULL
매칭 실패로 제외
읽는 결과
조직도의 시작점부터 전체 직원이 보입니다.
상사가 있는 하위 직원만 보입니다.
핵심:
자기 자신과 조인하더라도 왼쪽 기준 테이블이
employees e
이면, 최상위 직원은 사라지지 않고
상사명만 NULL
로 남습니다.