데이터베이스/데이터베이스 공부

조인(Join)의 종류(내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인)

아밍나 2022. 8. 23. 23:27
728x90

조인

하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것.

   - MySQL에서는 JOIN이라는 쿼리로, MongoDB에서는 lookup이라는 쿼리로 처리할 수 있다.

   - 여러 테이블을 조인하는 작업이 많을 경우 관계형 데이터베이스를 쓴다.

   → MongoDB는 관계형 데이터베이스보다 조인 연산에 대해 성능이 떨어지기 때문에 lookup은 되도록 사용하지 않는다.

 

조인의 종류

▲ 내부 조인(inner join), 왼쪽 조인(left outer join), 오른쪽 조인(right outer join), 합집합 조인(full outer join)

- 내부 조인: 테이블 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
반응형