728x90
- Join
- 하나의 테이블뿐만 아니라, 여러개의 테이블에서 정보를 가져와서 결과를 만드는 기법
- 관계형 데이터베이트(RDBMS)의 가장 핵심 기술 중 하나
- ANSI Join 방식이 있고 DBMS 마다 특화된 방식이 있다.
- ex) Oracle Join
- 카티션 곱(Cartesian Product)
- WHERE 절에서 조인 조건을 주지 않은 것을 말하며 두 테이블의 데이터를 기준으로 가능한 모든 조합의 데이터가 조회된다.
- 복수개의 테이블에서 같은 이름의 필드가 있는 경우 반드시 서로 다른 테이블 별명(Alias)을 사용하여 접근해야한다.
- Join의 종류
- INNER Join
- LEFT Join (LEFT OUTER JOIN)
- RIGHT Join (RIGHT OUTER JOIN)
- FULL OUTER JOIN
- CROSS Join (Cartesian Product)
- Equi Join (등가 Join)
- 일반적으로 많이 쓰이는 Join 이며, 양쪽 테이블을 Join 한 카티션 곱에서 "같은 조건"이 존재할 경우만 값을 가져오는 것
- Non-Equi Jon (비등가 Join)
- 크거나 작거나 하는 경우의 조건으로 Join을 수행하는 것
- BETWEEN A AND B 사용
- SELF Join
- 원하는 데이터가 하나의 테이블에 다 들어 있는 경우 사용하는 Join
- "Join 조건" 과 "검색조건"이 동시에 있는 경우 "검색조건"을 먼저 수행하여 데이터 검색범위를 줄여 놓고 "Join 조건"을 수행하게 된다.
728x90