1. Cartesian Product(카티션 곱)
: Join 조건이 없이 그대로 붙이는 것 (참조되는 테이블의 행 수의 곱이 결과값이 된다.) <- 그래서 카티션 곱인듯ㅋ
2. Equip Join
: 흔히 쓰는 Join (동일한 값으로 Join 걸어 줄 때)
3. Non-Equip Join
: 잘 안쓰일듯한 Join (범위로 Join 걸어 줄 때) [ex] BETWEEN A AND B
4. Outer Join (인덱스가 있어도 Full Scan을 하므로 속도가 너무 느려짐!! 안쓰길 권장!!!)
(1) LEFT OUTER JOIN (왼쪽에 있는 테이블을 다 보고 싶을 때)
[ex] 왼쪽 테이블에 Join으로 엮이는 컬럼이 null 값이 있다던지..
(2) RIGHT OUTER JOIN (오른쪽에 있는 테이블을 다 보고 싶을 때)
5. Self Join
: 동일한 테이블을 두개를 쓰고 Alias를 달리 해서 지지고 볶는 일.
[EX] ... FROM EMPLOYEE A JOIN EMPLOYEE B ON A.MANAGER_ID = B.EMPLOYEE_ID ...
6. Sub Query (참고로 Sub Query는 데이터가 적을 때 빠른긴 함)
(1) 두 번 조건을 줘야할 때 유용하게 쓸 수 있는데, Join이 빠를지 얘가 빠를지를 고민해서 쓰도록 합시다!
(2) 밑에 EX에서 괄호 사이의 쿼리가 다중행 리턴 시, 사용하는 것들 - IN , >ANY , <ANY , <ALL , >ALL (잘 안쓰일듯..)
[EX] ... FROM EMPLOYEE WHERE MANAGER_ID = (SELECT EMPLOYEE_ID ...) ...
'DATABASE > ORACLE' 카테고리의 다른 글
DDL : CREATE & ALTER & TRUNCATE & DROP (0) | 2016.12.21 |
---|---|
VIEW(뷰) & SEQUENCE(시퀀스) (0) | 2016.12.21 |
[ORACLE] ORDER BY와 ROWNUM의 우선순위 문제 (0) | 2016.10.27 |
[ORACLE] 오라클 테이블 컬럼 추가/수정/삭제/이름변경 하는 방법(ALTER 테이블 ADD/MODIFY/DROP/RENAME) (3) | 2016.03.07 |
토드(Toad for oracle)에서 한글 깨짐 현상 없애는 방법 (0) | 2016.03.04 |