SQL에서는 JOIN을 사용해서 두 개의 테이블을 합칠 수 있다. join을 하기 위해서는 두 테이블이 기본키(Primary key, PK)와 외래키(Foreign key, FK)관계여야 한다. 이것을 일대다 관계라고 한다.
JOIN의 종류
JOIN에는 INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN이 있다.
INNCEWR JOIN(내부 조인) : 두 테이블을 JOIN 할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.
OUTER JOIN(외부 조인): 두 테이블을 JOIN할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
CROSS JOIN(상호 조인): 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 JOIN하는 기능이다.
SELF JOIN(자체 조인): 자신이 자신과 JOIN하는 의미로 1개의 테이블을 사용한다.
INNER JOIN(내부조인)

테이블을 연결할 때 가장 많이 사용하는 조인으로 두 테이블에 같은 열이 있을 때 사용 가능하다.
SELECT COlUM
FROM First_Table
INNER JOIN Second_Table
ON Join_Conditions
OUTER JOIN (외부조인)

외부조인은 내부조인과 달리 한쪽만 데이터가 있어도 결합이 가능하다.
SELECT Coumn_name
FROM First_Table(LEFT Tabel)
<LEFT | RIGHT | FULL> OUTER JOIN Second_Table(Right Table)
ON JOIN_CONDITIONS
OUTER JOIN 의 종류
- LEFT OUTER JOIN : 왼쪽 테이블의 모든 값이 출력
- RIGHT OUTER JOIN : 오른쪽 테이블의 모든 값이 출력
- FULL OUTER JOIN : 왼쪽 외부 조인과 오른쪽 외부 조인이 합쳐진 것

CROSS JOIN (상호조인)

한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능이다. 상호 조인 결과의 전체 행 개수는 두 테이블의 각 행의 개수를 곱한 수만큼 된다. 카티션 곱이라고도 한다.
SELECT *
FORM First_Table
CROSS JOIN Second_Table
SELF JOIN (자체조인)

SELF JOIN은 자기 자신과 JOIN 하는 것으로 1개의 테이블을 사용한다.
SELECT Colum_name
FROM TABlE_NAME NICKNAME_A
INNER JOIN TABlE_NAME NICKNAME_B
관련된 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
refernce
SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)
조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부
hongong.hanbit.co.kr
'하루 30분 SQL 공부하기' 카테고리의 다른 글
| [SQL/DML] SELECT 검색문의 SELECT 절 기초 쿼리 알아보기 (0) | 2024.10.01 |
|---|---|
| [MySQL] CTE Common Table Expression 임시 테이블 (0) | 2024.09.30 |
| [SQL] 프로그래머스 SELECT문제 평균 일일 대여 요금 구하기, 흉부외과 또는 일반외과 의사 목록 출력하기 (1) | 2024.09.25 |
| [SQL] SELECT문 기초 살펴보기 -2 (0) | 2024.09.24 |
| [SQL] SELECT문 기초 살펴보기 -1 (2) | 2024.09.23 |