조인(join) : 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어 하나의 결과물을 만드는 것
MySQL에서는 JOIN, MongoDB에서는 lookup이라는 쿼리로 이를 처리
참고) MongoDB를 사용할 때 lookup은 되도록 사용하지 말아야 함. MongoDB는 조인 연산(lookup)에 대해 관계형 데이터베이스보다 성능이 떨어진다고 여러 벤치마크 테스트에서 알려져 있음. -> 따라서 여러 테이블을 조인하는 작업이 많을 경우 관계형 데이터베이스를 써야 한다.
조인의 종류 : 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인 등
내부 조인(inner join) : 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기
왼쪽 조인(left outer join) : 왼쪽 테이블의 모든 행이 결과 테이블에 표기
오른쪽 조인(right outer join) : 오른쪽 테이블의 모든 행이 결과 테이블에 표기
합집합 조인(full outer join) : 두 개의 테이블을 기반으로 조인 조건에 만족하지 않는 행까지 모두 표기
왼쪽 테이블은 A, 오른쪽 테이블은 B라고 하자.
SELECT A.책번호, A.책명, B.가격
FROM A JOIN B
ON A.책번호 = B.책번호;
SELECT A.책번호, A.책명, B.책번호, B.가격
FROM A LEFT JOIN B
ON A.책번호 = B.책번호;
SELECT A.책번호, A.책명, B.책번호, B.가격
FROM A RIGHT JOIN B
ON A.책번호 = B.책번호;
SELECT A.책번호, A.책명, B.책번호, B.가격
FROM A FULL JOIN B
ON A.책번호 = B.책번호;
주홍철 작가님의 '면접을 위한 CS 전공지식 노트'를 기반으로 작성되었습니다.