ye._.veloper

[ DB ] Join이란? 본문

D B

[ DB ] Join이란?

ye._.veloper 2023. 1. 24. 00:08

 

☁ Join 이란?

  · 두 개 이상의 table을 연결하여 데이터를 조회하는 방법

  · 연결하기 위해서는 table이 적어도 하나의 컬럼을 공유하고 있어야 하며,

     공유하고 있는 컬럼은 PK(Primary Key) 또는 FK(Foreign Key) 값으로 사용한다.

 

 

☁ Join의 종류

Join의 종류

 

예시 )각각 단 하나의 열(column)만 있는 두 개의 테이블이 있고, 데이터가 다음과 같다고 가정해보자

A       B
-       - 
1       3
2       4
3       5
4       6
 

A 테이블에는 1, 2, 3, 4

B 테이블에는 3, 4, 5, 6

 

➡ (1, 2)는 A 테이블에만 있고, (3, 4)는 공통적으로 있으며, (5, 6)은 B만 갖고 있다.

 

☁  Inner Join

교집합, 공통적인 부분만 SELECT

Inner Join
select * from a INNER JOIN b on a.a = b.b;
select a.*, b.*  from a, b where a.a = b.b;

A | B
--+--
3 | 3
4 | 4
 

 

☁ Left Join

  · Join 기준 왼쪽 테이블에 존재하는 것은 모두 SELECT

      (겹치는 부분 + LEFT, 왼쪽에 있는 건 모두 SELECT)

 

 
Left Outer Join
select * from a LEFT OUTER JOIN b on a.a = b.b;
select a.*, b.*  from a, b where a.a = b.b(+);

A  |  B
--+-----
1  | null
2  | null
3  |  3
4  |  4
 

☁ Right Outer Join

  · 합집합, 두 테이블이 가진 모든 부분 SELECT (중복 값도 포함)

 

☁ Outer Join

  · 합집합, 두 테이블이 가진 모든 부분 SELECT (중복 값도 포함)

 

 

Comments