조인(Join)
둘 이상의 테이블을 하나로 묶어 결과를 출력하는 SQL 연산
관계형 DB: JOIN
NoSQL(MongoDB): $lookup (권장 X)
MongoDB는 조인 성능이 떨어지므로 조인 작업이 많은 경우 RDBMS 사용 권장
| 종류 | 설명 |
|---|---|
| INNER JOIN | A와 B 모두에 존재하는 데이터만 출력 (교집합) |
| LEFT OUTER JOIN | A는 전부 출력, B는 일치하는 경우만 출력 |
| RIGHT OUTER JOIN | B는 전부 출력, A는 일치하는 경우만 출력 |
| FULL OUTER JOIN | A, B 모두 출력, 일치하지 않는 행도 포함 (합집합) |
SELECT * FROM TableA A
INNER JOIN TableB B ON A.key = B.key;
SELECT * FROM TableA A
RIGHT JOIN TableB B ON A.key = B.key;
SELECT * FROM TableA A
RIGHT JOIN TableB B ON A.key = B.key;
SELECT * FROM TableA A
FULL OUTER JOIN TableB B ON A.key = B.key;
MySQL에서는 FULL OUTER JOIN 미지원 → UNION 사용으로 대체
SELECT * FROM TableA A
LEFT JOIN TableB B ON A.key = B.key
UNION
SELECT * FROM TableA A
RIGHT JOIN TableB B ON A.key = B.key;
참고: 북스터디 - 면접을 위한 CS 전공지식 노트 (Chapter 4-6)