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