SQL : JOIN - INNER JOIN

Jiwon Kim
|2023. 7. 19. 23:13


JOIN  이 왜 필요할까? 

이제까지는 테이블 하나로만 쿼리를 작성했다. 

하지만 현실에는 정보들이 여러 개의 테이블들로 나뉘어 있고,

이 여러 개의 테이블들 사이의 관계를 고려하여 연결할 수 있어야 한다. 


 

1.   INNER JOIN 

 

다음과 같은 두 개의 TABLE 이 있다고 생각해보자.

 

(1) : 교양 수업을 수강등록한 학생 목록 : 테이블 명 = Students

userID 학과 학년
1 경영학과 2
2 응용통계학과 4
3 건축학과 4
4 식품영양학과 3

(2) : 7월 19일 과제제출 및 퀴즈 결과 : 테이블 명 = Class

ID 과제제출 퀴즈결과
1 제출 90
3 미제출 80
4 제출 75

 

여기서 두 table로

SELECT * FROM Students, Class 의 쿼리를 입력하면

연결지을 수 있는 모든 가짓수를 만들어준다. 4 * 3 = 12가지

 

그런데 우리는 <Students> 테이블의 'userID'와 <Class> 테이블의 'ID'를 연결지어 하나의 테이블을 만들고 싶은거지, 

그냥 모든 경우의 수를 아무렇게나 배합해 놓은걸 보고 싶은게 아니다!!!

 

이 때, 

이렇게 첫번째 테이블에   INNER JOIN  한다.

뭐를? 두번째 테이블을. 

어떻게? key를 연결해서 :  ON   테이블1.key이름 = 테이블2.key이름

 

그럼 결과가 이렇게 나올 것이다.

결과 :

userID 학과 학년 ID 과제제출 퀴즈결과
1 경영학과 2 1 제출 90
3 건축학과 4 3 미제출 80
4 식품영양학과 3 4 제출 75

이 외에도 3개, 4개, ... 여러 개의 테이블을 연결할 수 있는 공통 key만 있다면 계속 연결지어줄 수 있다. 

 

 

'Study > SQL' 카테고리의 다른 글

SQL : Union & Union ALL  (0) 2023.07.20
SQL : Join - LEFT/RIGHT/OUTER JOIN  (0) 2023.07.20
SQL : CASE로 pivot하기  (0) 2023.07.19
SQL : Case  (0) 2023.07.14
SQL : Having  (0) 2023.07.14