Computer Science/Database

[면접을 위한 CS 노트] 4-6 조인(JOIN)

킹우현 2023. 11. 25. 20:55

1. 조인이란

조인이란 2개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말한다.

 

조인의 종류 중 대표적인 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인이 있다.

 

2. 조인은 왜 필요한가?

- 관계형 데이터베이스의 구조적 특징으로 정규화를 수행하면 의미 있는 데이터의 집합으로 테이블이 구성되고 각 테이블끼리는 관계(Relationship)을 갖게 된다.

- 이와 같은 특징으로 관계형 데이터베이스는 저장 공간의 효율성확장성이 향상되게 된다.

- 다른 한편으로는 서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 조인이 필요하다.

 

3. 조인의 종류

3-1. 내부 조인(Inner Join)

내부조인이란 두 테이블 간의 '교집합'만 표기하는 것이다.

 

3-2. 왼쪽 조인(Left Outer Join)

왼쪽 조인은 테이블 B의 일치하는 부분의 레코드와 함께 테이블 A를 기준으로 완전한 레코드 집합을 생성한다. 만약 테이블 B에 일치하는 항목이 없으면 해당 값은 null값이 된다.

 

3-3. 오른쪽 조인(Right Outer Join)

오른쪽 조인은 테이블 A의 일치하는 부분의 레코드와 함께 테이블 B를 기준으로 완전한 레코드 집합을 생성한다. 만약 테이블 A에 일치하는 항목이 없으면 해당 값은 null값이 된다.

 

3-3. 합집합(Full Outer Join)

합집합 조인(완전 외부 조인)은 양쪽 테이블에서 일치하는 레코드와 함께 테이블 A와 테이블 B의 모든 레코드 집합을 생성한다. 이때 일치하는 항목이 없으면 누락된 쪽에 null값이 포함되어 출력 된다.

 

4. 조인의 원리

조인의 원리에는 다음과 같이 3가지가 있다.

  • 중첩 루프 조인 : 중첩 for문과 같은 원리로 조건에 맞게 조인하는 방법, 랜덤 접근에 대한 비용이 많이 발생하기 때문에 대용량 테이블에서는 사용하지 않는다.
  • 정렬 병합 조인 : 각각의 테이블을 조인할 필드를 기준으로 정렬하고, 정렬한 후에 조인 작업을 수행하는 방법, 대용량 테이블과 범위 비교 연산자가 있을 때 사용한다.
  • 해시 조인 : Tash Table을 기반으로 조인하는 방법, 동등 조인에서만 사용할 수 있다.