더북(TheBook)

02 | 내부 조인과 외부 조인

지금부터 각각의 조인 방법과 그 내용에 대해 자세히 알아 보자.

동등 조인

가장 기본이 되며 일반적인 조인 방법이 바로 동등 조인(EQUI-JOIN)이다. 동등 조인은 WHERE 절에서 등호(‘=’)연산자를 사용해 2개 이상의 테이블이나 뷰를 연결한 조인이다. 즉 등호 연산자를 사용한 WHERE절 조건에 만족하는 데이터를 추출하는 조인이다. 이때 WHERE절에 기술한 조건을 조인 조건이라고 한다.

조인 조건은 컬럼 단위로 기술한다. 예를 들어, A와 B 테이블이 있다고 한다면 두 테이블에서 공통된 값을 가진 컬럼을 등호 연산자로 연결해 조인 조건에 일치하는, 즉 조인 조건 결과가 참(TRUE)에 해당하는, 다시 말해 두 컬럼 값이 같은 행을 추출하는 것이다. 실제 어떤 식으로 구현하는지 예제를 통해 살펴 보자.

입력

    SELECT a.employee_id, a.emp_name, a.department_id, b.department_name
      FROM employees a,
           departments b
     WHERE a.department_id = b.department_id;

결과

    EMPLOYEE_ID  EMP_NAME         DEPARTMENT_ID DEPARTMENT_NAME
    ----------- ----------------- ------------- -------------------------
    198         Donald OConnell   50            배송부
    199         Douglas Grant     50            배송부
    200         Jennifer Whalen   10            총무기획부
    201         Michael Hartstein 20            마케팅
    ...
    106 개의 행이 선택됨

사원과 부서 테이블에 공통적으로 존재하는 부서번호(department_id)를 등호 연산자를 사용해 조회조건에 명시했다. 부서번호 컬럼은 부서 테이블에서 키(Primary Key)에 해당해 필수 값이지만 사원 테이블에서는 필수 값이 아니므로 위 쿼리 결과는 사원 테이블에서 부서번호 컬럼 값이 있는 건만 추출된다. 즉 사원 테이블의 전체 건수가 107건이지만 부서번호가 없는 사원이 한 건 존재하므로 106건이 조회된 것이다.

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