[면접준비] MySQL JOIN (24/04/29)

2024. 4. 29. 10:17공부/면접 준비

1. 내부 조인

  • 설명

INNER JOIN은 두 테이블 모두에 일치하는 항목이 하나 이상 있을 때 행을 반환합니다.
두 테이블의 값이 일치하는 행만 검색합니다.

  • 장점

인덱싱된 열로 작업할 때 효율적이고 빠릅니다.

일치하지 않는 행을 제거하여 데이터 처리를 단순화할 수 있습니다.

  • 단점

일치하지 않는 두 테이블의 행을 제외합니다.

일치하는 항목이 없으면 빈 세트가 될 수 있습니다.

  • 사용 사례

두 테이블 모두에 해당 항목이 있는 결과만 원하는 경우에 사용됩니다. 예를 들어, 해당 고객 세부정보가 포함된 모든 주문을 검색합니다.

 


2. LEFT JOIN(또는 LEFT OUTER JOIN)

  • 설명

LEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다.

일치하는 항목이 없으면 오른쪽 테이블 쪽의 결과가 NULL이 됩니다.

  • 장점

기본(왼쪽) 테이블의 모든 레코드가 조인 결과에 나타나는지 확인합니다.

오른쪽 테이블에 해당 항목이 없는 레코드를 찾는 데 유용합니다.

  • 단점

왼쪽 테이블에 행이 많으면 큰 결과 집합이 생성될 수 있습니다.

오른쪽에 일치 항목이 없는 왼쪽 테이블에 행이 있는 경우 많은 NULL 값이 포함될 수 있습니다.

  • 사용 사례

다른 테이블에 해당 항목이 없는 한 테이블의 항목을 찾는 데 유용합니다. 예를 들어 주문하지 않은 모든 고객을 찾습니다.


3. RIGHT JOIN(또는 RIGHT OUTRER JOIN)

  • 설명

RIGHT JOIN은 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환합니다.

일치하는 항목이 없으면 왼쪽 테이블 쪽의 결과는 NULL입니다.

  • 장점

보조(오른쪽) 테이블의 모든 레코드가 조인 결과에 나타나는지 확인합니다.

  • 단점

LEFT JOIN과 비슷하지만 테이블을 전환하여 언제든지 RIGHT JOIN을 LEFT JOIN으로 다시 작성할 수 있으므로 덜 자

주 사용됩니다.

  • 사용 사례

LEFT JOIN과 유사하지만 반대 관점입니다. 예를 들어, 주문되지 않은 제품을 포함하여 모든 제품 및 이와 관련된 모든 주

문을 나열합니다.

 

4. OUTER JOIN

  • 설명

FULL OUTER JOIN은 테이블 중 하나에 일치 항목이 있을 때 행을 반환합니다.

일치 항목이 없으면 결과에는 일치 항목이 없는 테이블의 모든 열에 대한 NULL 값이 포함됩니다.

  • 장점

가능한 경우 일치하는 항목과 함께 두 테이블의 전체 그림을 제공합니다.

  • 단점

MySQL에서는 기본적으로 지원되지 않습니다. 일반적으로 UNION과 함께 LEFT 및 RIGHT JOIN의 조합을 사용하여 이

를 에뮬레이트합니다.

매우 큰 데이터 세트가 생성되고 많은 NULL 값이 포함될 수 있습니다.

  • 사용 사례

두 데이터 세트에서 일치하지 않는 레코드를 확인해야 하는 비교 또는 전체 동기화 작업에 유용합니다.

 

INNER JOIN은 표준 관계형 데이터 작업에 가장 일반적이며, LEFT 및 RIGHT JOIN은 한쪽의 모든 레코드 목록이 필요한 보고서에 필수적입니다. 가상의 FULL OUTER JOIN은 일치 여부에 관계없이 양쪽의 레코드를 포함해야 하는 포괄적인 비교에 유용합니다.