자격증/SQLD

JOIN

닉네임생각즁 2024. 3. 1. 23:52

 

 

EQUI JOIN

- 가장 많이 사용

- '=' 비교를 통해 같은 값을 가지는 행을 연결

 

NON EQUI JOIN

- 비교 조건이 '='이 아닌 경우

 

SELF JOIN

- 한 테이블 내 각 행끼리 관계를 갖는 경우

- 테이블명이 중복되므로 반드시 테이블 별칭 사용

 

NATURAL JOIN 

- 두 테이블 간의 동일한 이름 가진 모든 컬럼들에 대해 EQUI JOIN (데이터 타입도 같아야함)

- 따로 조건 정의 X

 

CROSS JOIN

- 조인조건이 없는 경우

- 생성 가능한 모든 조합을 출력 (Cartesian product) : m * n

 

 

INNER JOIN 

- ORACLE 조인 기본 / 따로 명시에해주지 않으면 INNER JOIN

- 조인 조건에 일치하는 행만 출력

- 조건의 형태 : ON절 / 컬럼의 형태 : USING절(조인할 컬럼명이 같은 경우) / 일반 조건 : WHERE

 

OUTER JOIN

- 조건에 성립하지 않는 데이터도 출력

- 두 테이블 중 한쪽에 NULL을 가지면 출력되지 않는데 OUTER JOIN에서는 출력 가능

- 기준이 어느쪽인지 구분해주어야함 (LEFT, RIGHT, FULL)

- ORACLE 표준에서는 LEFT OUTER JOIN이라고 쓰지않고, WHERE절에 기준이 되는 반대 테이블 조건 컬럼 뒤에 (+)를 붙임

- ANSI 표준에서는 조인 테이블 순서에 따라 LEFT, RIGHT 구분

 

 

N개 테이블의 경우 최소 N-1개의 조인 조건 필요

 

'자격증 > SQLD' 카테고리의 다른 글

그룹 합수  (0) 2024.03.02
NULL 관련 함수  (2) 2024.03.02
COUNT 집계 함수  (0) 2024.03.02
계층형 질의  (1) 2024.03.02
[SQL 자격검정 실전문제 / 2과목] p.35 9번  (0) 2024.02.28