'면접을 위한 CS 전공지식 노트' 책을 보며 공부한 내용입니다.
조인이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것이다.
MySQL에서는 JOIN이라는 쿼리로, MongoDB에서는 lookup이라는 쿼리로 이를 처리할 수 있다.
(MongoDB를 사용할 때 lookup은 되도록 사용하지 말기. 관계형 데이터베이스에 비해 lookup의 성능이 떨어진다.
-> 여러 테이블을 조인하는 작업이 많을 경우에는 MongoDB보다는 관계형 데이터베이스를 써야 한다.)
- 내부 조인(inner join)
- 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기된다.
- 교집합
SELECT * FROM TableA A
INNER JOIN TableB B ON
A.key = B.key
- 왼쪽 조인(left outer join)
- 왼쪽 테이블의 모든 행이 결과 테이블에 표기된다.
- 테이블 B의 일치하는 부분의 레코드와 함께 테이블 A를 기준으로 완전한 레코드 집합을 생성한다.
- 만약 테이블 B에 일치하는 항목이 없으면 해당 값은 null값이 된다.
SELECT * FROM TableA A
LEFT JOIN TableB B ON
A.key = B.key
- 오른쪽 조인(right outer join)
- 오른쪽 테이블의 모든 행이 결과 테이블에 표기된다.
- 테이블 A의 일치하는 부분의 레코드와 함께 테이블 B를 기준으로 완전한 레코드 집합을 생성한다.
- 만약 테이블 A에 일치하는 항목이 없으면 해당 값은 null값이 된다.
SELECT * FROM TableA A
RIGHT JOIN TableB B ON
A.key = B.key
- 합집합 조인(full outer join)
- 두 개의 테이블을 기반으로 조인 조건에 만족하지 않는 행까지 모두 표기된다.
- 이때 일치하는 항목이 없으면 누락된 쪽에 null 값이 포함되어 출력된다.
SELECT * FROM TableA A
FULL OUTER JOIN TableB B ON
A.key = B.key
728x90
'CS' 카테고리의 다른 글
5.1 복잡도 (1) | 2024.10.01 |
---|---|
4.7 조인의 원리 (2) | 2024.09.30 |
4.5 인덱스 (0) | 2024.09.27 |
4.4 데이터베이스의 종류 (2) | 2024.09.26 |
4.3 트랜잭션과 무결성 (0) | 2024.09.24 |