문과생의 우당탕탕 공부 기록

02. INNER JOIN) BASKET테이블로 이너조인 이해하기 본문

SQL 공부/조인과 집계 데이터

02. INNER JOIN) BASKET테이블로 이너조인 이해하기

드르렁쿨쿨 2023. 1. 9. 23:39

저번시간에 작성한 테이블을 바탕으로 INNER JOIN에 대해서 기록을 남기려고한다.

 

INNER JOIN은 말 그대로

INNER = 내부의

JOIN = 조인한다

 

'교집합'이라는 개념으로 이해하는게 조금 더 쉬울 것 같다.

 

저번시간에 만든 테이블을 잠깐 가져오자면

 

BASKET_A와 BASKET_B라는 테이블을 만들고

각각의 PRIMARY KEY를 FRUIT으로, 가변의 문자열을 (VARCHAR) 100byte로 지정한다. 

그리고 null이아니게!!

 

VARCHAR = 가변의 문자열 타입으로 100byte까지 넣을 수 있다는 뜻이다

* VARCHAR와 CHAR의 차이점은 다른 게시글로 한번 정리해보겠다

그 다음 BASKET_A와 B에 각각 과일의 종류를 넣어주는 INSERT문을 작성한다.

각각의 테이블에 이런 값들이 들어갔다!

 

 

본격적인 INNER JOIN 시작하기

자 이제 본격적으로 INNER JOIN을 해보자고

 

각 ID와 FRUIT을 BASKET_A와 BASKET_B로 구분하기 위하여 각각 A, B로 이름을 지정해주었다.

그리고 FROM절에 A를 걸어주고

INNER JOIN 다음 B를 걸어준다

그리고 어떤 조건인지 ON으로 FRUIT을 걸어준다 (ID가 아니라)

 

그러면 A,B의 두개의 BASKET의 교집합이 결과로 나온다.

FRUIT_A는 1APPLE, 2ORANGE이고

FRUIT_B는 2APPLE, 1ORANGE이다.

 

이유는 BASKET_A에서-> 1APPLE, 2ORANGE이고

BASKET_B에서 -> 1ORANGE 2APPLE이기때문에, 

=> 근데 우리가 FRUIT순으로 정리했기때문에 알파벳 A가 먼저인 APPLE이 나오는것임!

 

INNER JOIN은 3개로도 가능하다.

3개의 원으로 교집합 만든다고 이해하면 쉬울듯 

캡쳐본 저장이 안됐어서, 다음에 올려보는걸로..!!

Comments