DBMS

JOIN 정리

asd135 2024. 3. 22. 21:49
728x90

JOIN

두 개 이상의 테이블을 연결하여 데이터를 검색할 때 사용하며 JOIN 된 테이블은 마치 하나의 테이블인 것처럼 보인다.

일반적으로 JOIN을 사용하려면 테이블 간 관계가 있어야 한다. 예를 들어 A테이블의 기본키가 B테이블의 외래키로 참조되는 경우가 있다.

두 테이블의 조인을 위해서는 기본키와 외래키 관계를 설정해 두면 속도 향상 등의 이점이 있다

ON

테이블 간 JOIN 조건을 정의한다.

ON 조건은 주로 두 테이블 간 컬럼을 연결하는 데 사용한다. 위에 예시의 경우 기본키와 외래키를 연결하는 데 사용할 수 있다.

JOIN의 종류

1. INNER JOIN 

양쪽 테이블에서 일치하는 데이터만 반환한다.

SELECT column1, column2, …
FROM table_A
INNER JOIN table_B
ON table_A.column = table_B.column;

 

 

2. LEFT OUTER JOIN

왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 반환한다. 오른쪽 테이블에 일치하는 행이 없으면 왼쪽 테이블의 데이터에 NULL 값이 들어간다.

SELECT column1, column2, …
FROM table_A
LEFT JOIN table_B
ON table_A.column = table_B.column;

 

 

3. RIGHT OUTER JOIN [LEFT OUTER JOIN 반대]

오른쪽 테이블의 모든 행과 왼쪽 테이블에서 일치하는 행을 반환한다. 왼쪽 테이블에 일치하는 행이 없으면 오른쪽 테이블의 데이터에 NULL 값이 들어간다.

SELECT column1, column2, …
FROM table_A
RIGHT JOIN table_B
ON table_A.column = table_B.column;

 

 

4. FULL OUTER JOIN 

두 테이블의 모든 행을 반환한다. 일치하는 행이 없는 경우 NULL 값이 들어간다.

FULL OUTER JOIN은 (LEFT OUTER JOIN, RIGHT OUTER JOIN) 결과를 합친 것과 비슷하다.

SELECT column1, column2, …
FROM table_A
FULL JOIN table_B
ON table_A.column = table_B.column;