[CS / 데이터베이스] 4.5 조인의 종류
안녕하세요! 개발감자입니다.
오늘은 CS의 운영체제 중에서도 4.5 조인의 종류 에 대해서 정리해보았습니다.
4.5 조인의 종류
조인 (join)
- 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것입니다.
- 조인의 유형에는 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인이 있습니다.
- MySQL에서는
JOIN
을 사용하고, MongoDB에서는lookup
을 사용합니다. - MongoDB 사용 시에는 성능 저하를 방지하기 위해 되도록이면
lookup
을 사용하지 않는 것이 좋습니다.
4.5.1 내부 조인 (INNER JOIN)
설명: 내부 조인은 두 테이블 간의 교집합을 나타냅니다. 즉, 두 테이블에서 일치하는 데이터만을 반환합니다.
사용 예시:
SELECT * FROM TableA A
INNER JOIN TableB B ON
A.key = B.key;
사용 시 주의사항: 내부 조인은 일치하는 데이터가 없는 경우 해당 행이 반환되지 않으므로, 일치하는 데이터가 많을 때 유용합니다.
4.5.2 왼쪽 조인 (LEFT JOIN)
설명: 왼쪽 조인은 테이블 A를 기준으로 일치하는 테이블 B의 레코드를 포함하여 모든 레코드를 반환합니다. 일치하지 않는 경우, 테이블 B의 값은 null
로 표시됩니다.
사용 예시:
SELECT * FROM TableA A
LEFT JOIN TableB B ON
A.key = B.key;
사용 시 주의사항: 왼쪽 조인은 테이블 A의 모든 레코드를 포함하므로, 테이블 A의 레코드를 모두 보여주면서 테이블 B에서 추가 정보를 얻고자 할 때 유용합니다.
4.5.3 오른쪽 조인 (RIGHT JOIN)
설명: 오른쪽 조인은 테이블 B를 기준으로 일치하는 테이블 A의 레코드를 포함하여 모든 레코드를 반환합니다. 일치하지 않는 경우, 테이블 A의 값은 null
로 표시됩니다.
사용 예시:
SELECT * FROM TableA A
RIGHT JOIN TableB B ON
A.key = B.key;
사용 시 주의사항: 오른쪽 조인은 테이블 B의 모든 레코드를 포함하므로, 테이블 B의 레코드를 모두 보여주면서 테이블 A에서 추가 정보를 얻고자 할 때 유용합니다.
4.5.4 합집합 조인 (FULL OUTER JOIN)
설명: 합집합 조인(또는 완전 외부 조인)은 두 테이블의 모든 레코드를 반환합니다. 일치하지 않는 경우, 누락된 쪽의 값은 null
로 표시됩니다.
사용 예시:
SELECT * FROM TableA A
FULL OUTER JOIN TableB B ON
A.key = B.key;
사용 시 주의사항: 합집합 조인은 두 테이블의 모든 데이터를 포함하므로, 두 테이블 간의 관계를 완전히 이해하고 싶을 때 유용합니다. 그러나 많은 데이터를 반환할 수 있으므로, 성능에 유의해야 합니다.
추가 설명 및 사용 시 주의사항
- 조인 성능 최적화: 큰 테이블 간의 조인은 성능 저하를 초래할 수 있습니다. 인덱스를 사용하여 조인 성능을 최적화하는 것이 중요합니다.
- 필터링과 조건문: 조인 시에는 필요한 데이터만을 반환하도록 필터링 조건을 사용하는 것이 좋습니다.
- 데이터 무결성: 조인 결과를 사용할 때 데이터 무결성을 유지하는 것이 중요합니다. 특히, 데이터가 중복되거나 누락되지 않도록 주의해야 합니다.
면접을 위한 CS 전공지식 노트 | 주홍철 - 교보문고
면접을 위한 CS 전공지식 노트 | 디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조, 개발자 면접과 포트폴리오까지! CS 전공지식 습득과 면접 대비, 이 책 한 권이면 충분하다! 개발자 면
product.kyobobook.co.kr
이 포스팅은 면접을 위한 CS 전공지식 노트를 기반으로 작성되었습니다.