JOIN
- SQL 로 2개 이상의 테이블을 연결해 데이터를 조회
조인 칼럼
- 연결 대상인 두 테이블에서 같은 값을 가진 칼럼
- 같은 값을 가진 조인 칼럼이 있어야 두 테이블을 연결 가능
조인 특징
- 조인하는 테이블에는 같은 값을 가진 칼럼이 있어야 한다.
- 2개 이상의 테이블을 조인할 수 있다.
- 조인할 때 테이블에 대한 별칭을 사용한다. (AS)
- 조인 시 조인 조건이 필요하다.
외래 키
- 조인에 참여하는 두 테이블 사이에 관계를 맺을 때 외래 키 사용
- 외래 키
- 테이블 간 부모-자식 관계를 설정할 때 사용하는 제약 조건
조인의 종류
내부 조인
INNER JOIN 내부 조인
SELECT ...
FROM 테이블1 [AS] 별칭1
[INNER] JOIN 테이블2 [AS] 별칭2
ON 별칭1.칼럼1 = 별칭2.칼럼2
AND ...
WHERE ... ;
FROM 테이블1 [AS] 별칭1
- FROM 다음에 조인에 참여할 첫 번째 테이블을 명시
[INNER] JOIN 테이블2 [AS] 별칭2
- INNER JOIN 다음에 조인에 참여할 두 번째 테이블을 명시
- INNER 생략 가능
ON 별칭1.칼럼1 = 별칭2.칼럼2
- ON 다음에 조인 조건을 기술
- 두 테이블의 조인 칼럼 값이 같다고 기술
- 칼럼을 식별하기 위해
테이블명.칼럼명
형태 사용
- 일반적으로 별칭 사용
FROM과 WHERE 절로 내부 조인하기
SELECT ...
FROM 테이블1 [AS] 별칭1,
테이블2 [AS] 별칭2
WHERE 별칭1.칼럼1 = 별칭2.칼럼2
AND ... ;
- 조인에 참여할 테이블은 FROM 절에 모두 명시
- WHERE 절에 AND 연산자로 조인 조건 추가
외부 조인
- 조인 칼럼의 값이 같지 않은 건까지 함께 조회
LEFT 조인
SELECT ...
FROM 테이블1 [AS] 별칭1
LEFT [OUTER] JOIN 테이블2 [AS] 별칭2
ON 별칭1.칼럼1 = 별칭2.칼럼2
AND ...
WHERE ... ;
- LEFT JOIN 문 기준으로 왼쪽 테이블에서 조인 조건을 만족하지 않는 건을 추가로 조회
RIGHT 조인
SELECT ...
FROM 테이블1 [AS] 별칭1
RIGHT [OUTER] JOIN 테이블2 [AS] 별칭2
ON 별칭1.칼럼1 = 별칭2.칼럼2
AND ...
WHERE ... ;
- RIGHT JOIN 문 기준으로 오른쪽 테이블에서 조인 조건을 만족하지 않는 건을 추가로 조회