postgresql - NON EQUI JOIN 부터 SELF JOIN 까지

강신찬·2023년 5월 10일
0

NON EQUI JOIN

  • 두 테이블을 연결하는 조건으로 대소비교, BETWEEN, LIKE, IN 연산자 등을 사용하는 형태

OUTER JOIN

  • 기준이 되는 테이블에 따라 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 으로 구분
  • 정보를 생략없이 출력하고 싶은 테이블이 기준 테이블이 된다.
  • 기준 테이블 방향에 따라 LEFT, RIGTH OUTER JOIN 방향 설정
  • FULL OTHER JOIN은 양쪽 테이블 모두가 기준 테이블이 된다.

FULL OUTER JOIN

  • 대용량 데이터 조회에 따른 선능 저하, 사용 시 주의 필요
  • UNION 연산자로 대체 가능
select ... from a left outer join b
on ...
union
select ... from a right outer join b
on ...

NATURAL JOIN

  • 조인 조건의 전달 없이 가능한 JOIN
  • 두 테이블에 서로 같은 컬럼명이 있는 경우 사용
  • EQUI JOIN과 비슷
  • 양 테이블에 동일한 모든 컬럼에 대해 같다라는 조건 비교
  • 컬럼 이름이 같을 때만 EQUI JOIN을 수행, 같지 않다면 Cartesian Product(모든 쌍을 연결지음) 발생

SELF JOIN

  • 한 번의 테이블 스캔으로 불가능한 정보를 표현할 경우 사용
  • 테이블 명이 동일하므로 반드시 테이블 별칭 필요
  • 필요시 OUTER JOIN을 수행한다. OUTER JOIN이 자주 발생

출처: https://velog.io/@bacccine/PostgreSQL-1620%EA%B0%95%EA%B9%8C%EC%A7%80%EC%9D%98-%EB%82%B4%EC%9A%A9-%EC%A0%95%EB%A6%AC

profile
꾸준히 공부하는 백엔드 개발자

0개의 댓글

관련 채용 정보