JOIN : INNER JOIN & LEFT/RIGHT/FULL OUTER JOIN

ParkIsComing·2023년 1월 31일
0

DB

목록 보기
1/3

INNER JOIN VS OUTER JOIN

  • INNER JOIN : 기준 테이블(드라이빙 테이블)과 조인 테이블 모두에 데이터가 있어야 조회 가능
  • OUTER JOIN : 기준 테이블에만 테이터가 있으면 일단 조회 가능
    • 기준이 되는 테이블이 조인 수행 시에 첫번째로 access되는 드라이빙 테이블이 된다.
    • 무엇을 드라이빙 테이블로 하는가가 쿼리 성능이나 튜닝에 영향을 준다. 이때 적은 테이블을 추출하는 테이블을 드라이빙 테이블로 하는 것이 좋다.
    • 쿼리 작성시에 USING, ON 조건절을 사용해야 한다.
    • LEFT OUTER JOIN,RIGHT OUTER JOIN, FULL OUTER JOIN이 있다.

LEFT/RIGHT OUTER JOIN

LEFT OUTER JOIN

  • A테이블에 LEFT OUTER JOIN B를 한다고 해보자.
  • 둘의 조인 조건이 맞다면
    • B 테이블의 컬럼에 찾고자 하는 데이터를 가져온다.
  • 조인 조건이 맞지 않다면
    • A테이블의 레코드는 무조건 결과값에 나오고 B테이블에서 가져오는 컬럼은 NULL로 설정한다.

RIGHT OUTER JOIN

  • A테이블에 RIGHT OUTER JOIN B를 한다고 해보자.
  • 둘이 조인 조건이 맞다면
    • A 테이블의 컬럼에서 찾고자 하는 데이터를 가져온다.
  • 조인 조건이 맞지 않다면
    • B 테이블의 레코드는 무조건 결과값에 나오고 A테이블에서 가져오는 컬럼은 NULL로 설정한다.

FULL OUTER JOIN

  • A테이블과 B테이블 모두에서 데이터를 읽어 중복된 데이터를 삭제한 JOIN 결과를 보여준다.

0개의 댓글