심심한 개발자의 취미생활

조인 처리 과정 이해 및 기본 조인 문장

조인이란?

  • 데이터베이스에서 여러 테이블의 데이터가 필요한 경우 조인을 사용함
  • 관계형 데이터 베이스에서 가장 기본적이고 가장 중요한 기능으로, 어떤 테이블을 기준으로 다른 테이블에 있는 ROW를 찾아 오는 것임
  • 관계형 데이터 베이스에서 서로 독립적인 데이터들간의 조인을 이용하여 필요시 원하는 다양한 정보를 참조함
  • 해당 컬럼에 존재하는 공통 값, 일반적으로 기본 키 및 외래 키 열을 조인 조건으로 사용하여 한 테이블의 행을 다른 테이블의 행에 조인할 수 있음
  • PK, FK의 관계 없어도 논리적인 값들의 연관만으로 JOIN 작업을 처리 할 수 있음

카티시안 곱

  • 카티시안 곱이 생성되는 경우
    • 조인 조건을 생략한 경우
    • 조인 조건이 부적합한 경우
  • 첫 번째 테이블의 모든 행이 두 번째 테이블의 모든 행에 조인되어 처리됨
  • 카티시안 곱이 생성되지 않도록 하려면 WHERE 절에 항상 유효한 조인 조건을 지정해야 함

조인 문장

  • FROM절에 사용할 테이블들을 콤마로 구분해서 모두 적음
  • 적절한 JOIN조건을 WHERE절에 지정함
  • 일반적으로 테이블 개수 -1개의 조인 조건이 필요함
  • PK와 FK간의 조인인 경우 조건이 붙는 경우가 많음

범위 검색을 이용한 조인 처리

  • EMP테이블 SAL 값이 SQLGRADE 테이블 어느 GRADE에 해다되는지 조회

OUTER JOIN

  • 조인 조건 만족하지 않는 자료 포함
  • JOIN 조건을 만족하지 못하는 경우에도 모든 행들을 다 보고자 하는 경우에 사용하는 JOIN
  • '(+)' 연산자를 사용함
  • 어느 한 쪽 집합(테이블)이 기준이 되어 다른 쪽 집합(테이블)의 연결되는 조건 만족에 상관없이 기준이 되는 집합(테이블)은 무조건 추출됨
SELECT *
    FROM DEPT D, EMP E
    WHERE D.DEPTNO = E.DEPTNO(+);