JOIN중급
SELF JOIN
같은 테이블을 자기 자신과 조인하는 기법
정의
하나의 테이블을 별칭(alias)으로 두 번 참조하여 조인한다. 직원-관리자(같은 employees 테이블)나 카테고리-상위카테고리처럼 계층/관계 데이터를 한 테이블에 넣는 경우에 사용한다. 트리 구조를 다룰 때는 SELF JOIN보다 CTE 재귀(WITH RECURSIVE)나 오라클의 CONNECT BY가 더 적합하다.
왜 중요한가?
계층 구조나 자기 참조 관계 조회의 기본기. 직원과 그 관리자 정보를 한 줄에 보여주는 가장 단순한 방법.
틀리기 쉬운 포인트
예시
SELECT e.name AS employee, m.name AS manager FROM employees e LEFT JOIN employees m ON e.manager_id = m.id;