두 테이블을 연결할 때 가장 많이 사용되는 것이 inner join이다.
inner join은 줄여서 join으로 부르기도 한다.
두 테이블을 join하기 위해서는 두 테이블이 1:N 관계로 연결되어야 한다.
1:N 관계는 주로 primary key와 foreign key 관계로 맺어져 있다. (상호조인의 경우에는 PK-FK 관계가 아니여도 된다.)
[SQL JOIN 예시]
id | title | y_id |
---|---|---|
1 | 데이터베이스 완전정복 | 2 |
2 | 볼리비아 광산 탐방기 | 4 |
3 | 침vs펄 토론 | 3 |
4 | 운영체제 완전 정복 | 2 |
5 | 충격실화 대한민국이 해냈다 | Null |
id | name | 채널 설명 |
---|---|---|
1 | 쯔양 | 먹방 |
2 | 개발남노씨 | 개발 |
3 | 침착맨 | 예능 |
4 | 빠니보틀 | 여행 |
SELECT *
FROM vedio
INNER JOIN youtuber
ON vedio.y_id = youtuber.id;
id | title | y_id | name | 채널 설명 |
---|---|---|---|---|
1 | 데이터베이스 완전정복 | 2 | 개발남노씨 | 개발 |
2 | 볼리비아 광산 탐방기 | 4 | 빠니보틀 | 여행 |
3 | 침vs펄 토론 | 3 | 침착맨 | 예능 |
4 | 운영체제 완전 정복 | 2 | 개발남노씨 | 개발 |
두 table에 공통된 데이터가 존재하는 행에 대해서만 데이터를 검색한다.
SELECT *
FROM vedio
LEFT JOIN youtuber
ON vedio.y_id = youtuber.id;
id | title | y_id | name | 채널 설명 |
---|---|---|---|---|
1 | 데이터베이스 완전정복 | 2 | 개발남노씨 | 개발 |
2 | 볼리비아 광산 탐방기 | 4 | 빠니보틀 | 여행 |
3 | 침vs펄 토론 | 3 | 침착맨 | 예능 |
4 | 운영체제 완전 정복 | 2 | 개발남노씨 | 개발 |
5 | 충격실화 대한민국이 해냈다 | Null | Null | Null |
왼쪽 vedio table의 모든 데이터를 포함한 데이터를 검색한다.