1. JOIN의 종류
- 카티션 곱(Cartesian Product)
두 개 이상의 테이블에 대해 연결 가능한 행을 모두 결합하는 조인 방법이며, WHERE 절에서 조인 조건절을 생략하거나 조인 조건을 잘못 설정하여 양쪽 테이블을 연결하여 조건에 만족하 는 행이 하나도 없는 경우에 발생 합니다.
예) SELECT * FROM DEPT A, EMP B
- EQUI JOIN
SQL 문에서 가장 많이 사용되는 조인으로 조인 대상 테이블에서 공통 칼럼을 ‘=’ 비교를 통해 같은 값을 갖는 행에 대해서 연결하여 결과를 생성하는 조인 방법입니다.
예) SELECT A.name FROM DEPT A, EMP B WHERE A.code = B.code
- NON-EQUI JOIN
조인 조건에서 ‘<’,’>’, BETWEEN a AND b’와 같이 ‘=’ 조건이 아닌 다른 종류의 연산자를 사용 하는 조인 방법입니다.
예) SELECT A.name FROM DEPT A, EMP B WHERE A.code > B.code
- OUTER JOIN
두 개 이상의 테이블 조인 시 한쪽 테이블의 행에 대해 다른 쪽 테이블에 일치하는 행이 없더 라도 다른 쪽 테이블의 행을 NULL로 하여 행을 Return하는 것이 OUTER JOIN 입니다.연산자 로는 (+)기호를 사용합니다.
예) SELECT A.name FROM DEPT A, EMP B WHERE A.code = B.code(+)
- SELF JOIN
하나의 테이블에서 두 개의 칼럼을 연결하여 EQUI JOIN을 하는 방법
- Inner Join
Join 조건에서 동일한 값이 있는 행만을 반환한다는 특징이 있다. USING 조건절이나 ON 조건절을 필수적으로 사용해야 한다.
- Outter Join
테이블 T1 과 T2을 Join 할 경우에 T2에 Join 데이터가 있는 경우에는 T2 테이블의 데이터를 함께 출력하고 데이터가 없는경우네는 NULL 값으로 출력한다. T1 데이터를 온전하게 출력하는 경우에는 LEFT OUTER JOIN 이라고 부르며, T2의 데이터가 온전하게 출력되는 경우네는 RIGHT OUTER JOIN 이라 부른다.
'개발정리' 카테고리의 다른 글
[Eclipse] 이클립스 loading org.eclipse.ltk.ui.refactoring 멈춤 (18) | 2023.09.25 |
---|---|
[Oracle] ALL_TABLES, USER_TABLES, ALL_TAB_COLUMNS, ALL_OBJECTS 오라클 테이블, 컬럼, 프로시저 조회 방법 (32) | 2023.07.17 |
0.0.0.0 기본게이트웨이 삭제 (3) | 2023.01.04 |
[Oracle] 오라클 시노님(Synonym)이란? 왜 사용하지? (6) | 2022.12.28 |
SpringMVC 동작 과정 (1) | 2022.12.28 |