반응형
JOIN 5줄 요약
- 조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다.
- INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.
- OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
- CROSS JOIN(상호 조인)은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다.
- SELF JOIN(자체 조인)은 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.
INNER JOIN(내부 조인)
두 테이블을 연결할 때 가장 많이 사용하는 것이 내부 조인입니다. 그냥 조인이라고 부르면 내부 조인을 의미합니다.
SELECT <열 목록>
FROM <첫 번째 테이블>
INNER JOIN <두 번째 테이블>
ON <조인될 조건>
[WHERE 검색 조건]
* INNER JOIN을 JOIN이라고만 써도 INNER JOIN으로 인식합니다.
OUTER JOIN(외부 조인)
내부 조인은 두 테이블 모두 데이터가 있어야 나오지만, 외부 조인은 한쪽에만 데이터가 있어서 결과가 나옵니다.
SELECT <열 목록>
FROM <첫 번째 테이블(LEFT 테이블)>
<LEFT | RIGHT | FULL> OUTER JOIN <두 번째 테이블(RIGHT 테이블)>
ON <조인될 조건>
[WHERE 검색 조건]
OUTER JOIN 종류
- LEFT OUTER JOIN : 왼쪽 테이블의 모든 값이 출력
- RIGHT OUTER JOIN : 오른쪽 테이블의 모든 값이 출력
- FULL OUTER JOIN : 왼쪽 또는 오른쪽 테이블의 모든 값이 출력
CROSS JOIN(상호 조인)
한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능입니다. 상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수만큼 됩니다. 이를 카티션 곱(CARTESIAN PRODUCT)라고도 합니다.
SELECT *
FROM <첫 번째 테이블>
CROSS JOIN <두 번째 테이블>
SELF JOIN(자체 조인)
자체 조인은 자기 자신과 조인하므로 1개의 테이블을 사용합니다. 별도의 문법이 있는 것은 아니고 1개로 조인하면 자체 조인이 됩니다.
SELECT <열 목록>
FROM <테이블> 별칭A
INNER JOIN <테이블> 별칭B
ON <조인될 조건>
[WHERE 검색 조건]
참조 사이트 : SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN) (hanbit.co.kr)
'프로그래밍 > 데이터베이스' 카테고리의 다른 글
SQL 실행 순서 알아보기 (2) | 2023.05.04 |
---|---|
정규화(Normalization)에 대해서 (12) | 2023.04.26 |
[PostgreSQL] 테이블, 컬럼 이름으로 대문자를 사용하지 말고 소문자를 써라 (0) | 2023.03.10 |
CockroachDB 어떤 데이터베이스인가? (0) | 2023.03.06 |
윈도우(Window)에서 레디스(Redis) 버전 확인하는 방법 (0) | 2023.01.19 |
댓글