티스토리 뷰

728x90

조인(Join)이란?

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

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

 

조인의 필요성

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

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

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

 

내부조인(Inner Join)

내부조인이란 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기하는 것이다.

즉, 집합에서 교집합이라고 볼 수 있다.

 

SELECT * FROM TableA A INNER JOIN TableB B ON A.key = B.key

 

코드로 표현을 하면 위와 같이 표현 할수 있다.

 

왼쪽조인(Left Outer Join)

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

 

SELECT * FROM TableA A LEFT JOIN TableB B ON A.key = B.key

 

코드로 표현을 하면 위와 같이 표현 할수 있다.

 

오른쪽조인(Right Outer Join)

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

 

SELECT * FROM TableA A RIGHT JOIN TableB B ON A.key = B.key

 

코드로 표현을 하면 위와 같이 표현 할수 있다.

 

합집합조인(Full Outer Join)

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

 

SELECT * FROM TableA A FULL OUTER JOIN TableB B ON A.key = B.key

 

코드로 표현을 하면 위와 같이 표현 할수 있다.

 

 

 

 

Reference Link

면접을 위한 CS 전공지식 노트

https://velog.io/@ragnarok_code/DataBase-%EC%A1%B0%EC%9D%B8Join%EC%9D%B4%EB%9E%80

 

728x90