728x90
조인
하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것.
- MySQL에서는 JOIN이라는 쿼리로, MongoDB에서는 lookup이라는 쿼리로 처리할 수 있다.
- 여러 테이블을 조인하는 작업이 많을 경우 관계형 데이터베이스를 쓴다.
→ MongoDB는 관계형 데이터베이스보다 조인 연산에 대해 성능이 떨어지기 때문에 lookup은 되도록 사용하지 않는다.
조인의 종류

- 내부 조인: 테이블 A와 테이블 B의 두 행이 모두 일치하는 행이 있는 부분만 표기.
SELECT *
FROM TABLE_A A INNER JOIN TABLE_B B
ON A.KEY = B.KEY;
- 왼쪽 조인: 테이블 A의 모든 행이 결과 테이블에 표기.
SELECT *
FROM TABLE_A A LEFT JOIN TABLE_B B
ON A.KEY = B.KEY;
→ 테이블 B에 일치하는 항목이 없다면 해당 값은 NULL
- 오른쪽 조인: 테이블 B의 모든 행이 결과 테이블에 표기.
SELECT *
FROM TABLE_A A RIGHT JOIN TABLE_B B
ON A.KEY = B.KEY;
→ 테이블 A에 일치하는 항목이 없다면 해당 값은 NULL
- 합집합 조인: 두 개의 테이블을 기반으로 조인 조건에 만족하지 않는 행까지 모두 표기.
SELECT *
FROM TABLE_A A FULL OUTER JOIN TABLE_B B
ON A.KEY = B.KEY;
→ 일치하는 항목이 없다면 누락된 쪽에 NULL 값이 포함되어 출력됨.
728x90
반응형
'데이터베이스 > 데이터베이스 공부' 카테고리의 다른 글
SQL CONSTRAINT 절(CONSTRAINT, 단일필드 제약조건, 다중필드 제약조건) (0) | 2022.08.26 |
---|---|
순수 관계 연산자(SELECT, PROJECT, JOIN, DIVIDE) (0) | 2022.08.23 |
NULL과 공집합(NULL의 특성, 집계함수, 공집합) (0) | 2022.08.18 |
트랜잭션과 무결성(트랜잭션, 원자성, 일관성, 고립성, 지속성, 무결성) (0) | 2022.08.18 |
SQL 문장들의 종류(DML, DDL, DCL, TCL) (0) | 2022.08.17 |