더북(TheBook)

셀프 조인

셀프란 말에서 알 수 있듯이, 셀프 조인(SELF-JOIN)은 서로 다른 두 테이블이 아닌 동일한 한 테이블을 사용해 조인하는 방법을 말한다.

입력

    SELECT a.employee_id, a.emp_name, b.employee_id, b.emp_name, a.department_id
      FROM employees a,
           employees b
     WHERE a.employee_id < b.employee_id......①
       AND a.department_id = b.department_id
       AND a.department_id = 20;

결과

    EMPLOYEE_ID  EMP_NAME          EMPLOYEE_ID EMP_NAME DEPARTMENT_ID
    ------------ ----------------- ----------- -------- --------------
    201          Michael Hartstein 202         Pat Fay              20

사원 테이블을 A, B로 나누어 조인을 하는데, 같은 부서번호를 가진 사원 중 A 사원번호가 B 사원번호보다 작은 건을 조회하는 쿼리다. 사원 테이블에서 부서번호가 20인 건은 단 2건 뿐인데(201과 202), ①조건에 의해 결과는 1건만 추출된 점에 유념하자.

지금까지 설명한 조인 방법은 모두 내부 조인에 포함된다. 이제 외부 조인에 대해 알아 보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.