CS

[CS / 데이터베이스] 4.5 조인의 종류

개발하는 감자입니다 2024. 6. 3. 13:51
728x90

 

안녕하세요! 개발감자입니다.

오늘은 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 전공지식 노트를 기반으로 작성되었습니다.

728x90
반응형