1 대 N으로 가정
하나의 주문으 녀얼 개의 상품을 가질 수 잇다.
하나의 주문 상품은 반드시 하나의 주문을 가질 수 있다.
하나의 결재는 여러 개의 결재 이력을 가질 수 있다.
하나의 결재이력은 하나의 결재를 포함할 수 있다.
개념
조인되는 테이블의 모든 행을 연결하여 카티션 곱을 생성
sql 형식
select c.cust id c.cust name, p.prod cd and p.prod name
form cust c, prod p (or FROM cust c CROSS JOIN prod p)
ANSI 표준은 괄호 안의 표현 다른 디비에서도 사용가능
실행계획
1:1일 때 eq ref, 1:N 일때 1이 driving이면 ref, N이 driving이면 eq.ref
ref - 여러 개가 있을 수 있음
eq.ref -
1:N 관계에서 [=] 조건을 만족하는 N의 건수가 최종 건수 (N만큼 1의 데이터가 복제)
C는 조인에 포함되지 않지만 결과셋에 포함시킬 수 잇음
N LEFT는 inner join이랑 같은결과 - 옵티마이저가 보정해줌
교재
퍼스트 매치 옵티마이저
materialization 세미조인의 기법
임시 테이블을 생성해 메모리에 올려서 JOIN해 실행 속도를 향상시킬 수 있다.
dupliacated without (잡초 뽑기) 속아내기 결과를 만들고 중복을 제거하는 방법
이 방법은 오버헤드가 많이 발생하는 단점이 있다.
어떤 방법을 사용해 중복을 제거할지는 옵티마이저가 결정하기 때문에 신경쓰지 않아도된다.
Anti join 의 부정형
Not in
not exists