[SQL] JOIN의 종류 (Left JOIN, Inner JOIN, Outer JOIN, Right JOIN)

효효·2024년 3월 27일

데이터베이스

목록 보기
1/3

오늘은 데이터베이스에서 테이블을 합칠 때 사용하는 SQL 문법 중 JOIN에 대해서 알아보자

JOIN

하나의 테이블에 원하는 데이터가 없을 때 다른 테이블에서 데이터를 합쳐야 원하는 결과를 얻을 수 있다. 이럴 때 JOIN을 사용해서 데이터를 추출한다.

합치는 테이블의 조인을 위해서는 기본키(PRIMARY KEY)와 외래키(FOREIGN KEY) 관계를 맺는 일대다 관계여야 한다.

기본 문법

SELECT <테이블1.컬럼>, <테이블2.컬럼>
FROM <테이블1>, <테이블2>
WHERE <조건>

JOIN의 종류

INNER JOIN (내부 조인)

두 테이블을 연결할 때 가장 많이 사용하는 것이 내부 조인이다.
JOIN이라고만 써도 INNER JOIN으로 인식한다.

기본 문법

// 첫번째 방법
SELECT <조회할  목록>
FROM <테이블1>, <테이블2>
[WHERE 조건문]

// 두번째 방법
SELECT <조회할  목록>
FROM <테이블1>
(INNER) JOIN <테이블2>
ON <테이블1.컬럼 = 테이블2.컬럼>
[WHERE 조건문]

첫 번째 방법으로 작성할 경우, 두 테이블에서 동일한 컬럼명을 갖는 컬럼은 모두 조인이 된다. 반드시 두 테이블 간의 동일한 이름, 타입을 가진 컬럼이 필요하다. 이름이 같지만 타입이 다른 컬럼이 있으면 에러가 발생한다.

OUTER JOIN(외부 조인)

내부 조인은 두 테이블에 공통된 데이터가 있어야지만 결과가 나오지만, 외부 조인은 한쪽에만 데이터가 있어도 결과가 나온다. 이때 두 테이블 모두 값을 유지하면 Full Outer Join, 왼쪽 테이블 값만 유지하면 Left Outer Join, 오른쪽 테이블 값만 유지하면 Right Outer Join이 된다.

SELECT <조회할 컬럼>
FROM <테이블1>
<LEFT | RIGHT | FULL> OUTER JOIN <테이블2>
ON <조인 조건문>
[WHERE 조건문]

참고한 블로그

profile
효효 개발공부로그

0개의 댓글