DB-join

JOIN

조인이란?

두개이상의 테이블이나 데이터베잇스를 연결하여 데이터를 검색하는 방법 이다.

보통 보통 Primary key혹은 Foreign key로 두 테이블을 연결한다.

JOINS

INNER JOIN

결합된 테이블에 조건의 내용이 공통으로 들어가 있는 값을 결과 집합으로 만들어준다.

1
2
3
4
SELECT 열 목록
FROM 첫번째 테이블 [AS 별칭]
INNER JOIN 두번째 테이블 [AS별칭]
ON(join_condition)

OUTER JOIN

INNER JOIN 문을 포함하고 한쪽에만 내용이 있더라도 지정한 기준 테이블에 있는 모든 데이터를 가져오는 조인

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

LEFT OUTER JOIN

왼쪽 테이블이 기준이 되어서 그 테이블에 있는 데이터를 모두 가져온다. 기준으로 지정되지 않은 오른쪽 테이블에서 가져올 수 없는 열은 NULL로 표현된다.

RIGHT OUTER JOIN

오른쪽 테이블이 기준이 되어서 그 테이블에 있는 데이터를 모두 가져온다. 기준으로 지정되지 않은 왼쪽 테이블에서 가져올 수 없는 열은 NULL로 표현된다.

FULL OUTER JOIN

왼쪽과 오른쪽에 관계없이 조건이 일치하지 않아도 양쪽의 모든 내용을 포함해서 나타낸다.

CROSS JOIN

결과값이 한쪽 테이블의 모든행들과 다른쪽 테이블의 모든 행을 조인시킨다.
결과 집합은 두 테이블의 개수를 곱한 값만큼 생성되며, 조인되는 테이블에 공통되는 행이 없어도 되며 조건절인 ON 키워드가 사용되지 않는다.

1
2
3
SELECT 열목록
FROM 첫번째 테이블
CROSS JOIN 두번째 테이블

SELF JOIN

하나의 테이블에 같은 데이터가 존재하는데 그 의미가 다르게 존재하는 경우. 즉, 같은 데이터이지만 다른 열에 있는 경우에는 두 테이블을 서로 SELF JOIN 문으로 확인가능