Javadocs

[Database] JOIN 이란? 본문

Programming/DataBase

[Database] JOIN 이란?

Javatist 2023. 4. 9. 14:36

# JOIN ??

JOIN 연산두 테이블을 결합하는 연산을 의미합니다.
데이터가 커지면서 하나의 테이블로 정보를 수용하기 어려워지면 테이블을 분할하고  테이블 간의 관계성을 부여합니다.  둥 테이블의 조인을 위해서는 기본키(Primary Key)와 외래키(Foreign Key) 관계로 맺어져야 하고, 이를 일대다 관계라고 합니다.

# JOIN의 종류

1. INNER JOIN - 서로 중복되는 값만 나타냅니다.

 

SELECT <열 목록> FROM <첫 번째 테이블>
JOIN <두 번째 테이블>
ON <조인 조건>
[WHERE 검색 조건]

// INNER JOIN을 JOIN이라고만 써도 인식한다.

 

2. OUTER JOIN 

INNER JOIN(내부 조인)은 두 테이블에 모두 데이터가 있어야 결과가 나오지만, OUTER JOIN(외부 조인)은 한 쪽 테이블에만 데이터가 있어도 결과가 나옵니다.
매칭되는 행이 없어도 결과에 포함시키며, 없는 경우 NULL로 표시해줍니다.

  • LEFT OUTER JOIN : 왼쪽 테이블의 모든 값이 출력되는 조인
  • RIGHT OUTER JOIN : 오른쪽 테이블의 모든 값이 출력되는 조인
  • FULL OUTER JOIN : 왼쪽 또는 오른쪽 테이블의 모든 값이 출력되는 조인

SELECT < 열 목록 >
FROM < 첫 번째 테이블(LEFT 테이블) >
	< LEFT | RIGHT | FULL > OUTER JOIN < 두 번째 테이블(RIGHT 테이블) >
    ON < 조인 조건 > 
[WHERE 검색 조건]

3. CROSS JOIN

한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능입니다. 상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수만큼 됩니다. 카티션 곱(Cartesian Product)이라고도 합니다.

SELECT * FROM < 첫 번째 테이블 > 
	CROSS JOIN < 두 번째 테이블 >

4. SELF JOIN(자체 조인)

SELF JOIN은 자기 자신과 조인하므로 1개의 테이블을 사용합니다. 별도의 문법이 있는 것은 아니고 1개로 조인하면 자체 조인 됩니다.

SELECT < 열 목록 > 
FROM <테이블> 별칭A
	INNER JOIN <테이블> 별칭B
[WHERE 검색 조건]

'Programming > DataBase' 카테고리의 다른 글

[DataBase] 트랜잭션(Transaction)이란?  (0) 2023.04.08
[ DataBase] 데이터베이스란?  (0) 2023.03.19
Comments