SQL JOIN을 수학 집합으로 설명하면 다음과 같다.

1) LEFT [OUTER] JOIN : 왼쪽 테이블 기준 합집합
A에 있는 레코드는 무조건 포함.
A에 없고 B에만 있는 레코드는 제외
2) RIGHT [OUTER] JOIN : 오른쪽 테이블 기준 합집합
B에 있는 레코드는 무조건 포함.
B에 없고 A에만 있는 레코드는 제외
3) B에 key가 없는 레코드를 제외한 A 테이블 합집합
A에 있는 레코드중 B에 없는 레코드는 제외
A에 없고 B에만 있는 레코드는 제외
4) A에 key가 없는 레코드를 제외한 B 테이블 합집합
B에 있는 레코드중 A에 없는 레코드는 제외
B에 없고 A에만 있는 레코드는 제외
5) FULL OUTER JOIN : 전체 합집합
A와 B 두 테이블의 합집합(Cartesian Product)
A에 있거나 B에 있는 모든 레코드의 합집합
6) A와 B의 전체 집합 중 각각에 없는 레코드 제외
전체 합집합에서 A,B 각각에 없는 레코드 제외
7) INNER JOIN : A와 B 테이블의 교집합
A와 B 모두에 있는 레코드의 집합
Комментарии