INNER JOIN 말고

OUTER JOINs에는 

LEFT JOIN, RIGHT JOIN, OUTER JOIN이 있다.

 

INNER JOIN은 두 테이블에 모두 있지 않은 정보는 결과로 출력되지 않았다. 

OUTER JOINs에서는 unmatched된 행들도 결과로 출력될 수 있다. 

 


2.   LEFT JOIN

 

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

 

 

이와 같이 INNER JOIN을 이용했을 때에는 

'Student' 테이블에 있는 userID 2번의 학생이 'Class' 테이블에는 없어서 

결과에 id 1,3,4번 학생만 나타났다. 

 

하지만 LEFT JOIN을 이용한다면 

'Student' 테이블에는 있는데 'Class' 테이블에는 없는 id = 2번 학생 또한 결과로 나타날 것이다.

 

 

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

 

 


3.   RIGHT JOIN

이번에는 LEFT JOIN과 반대로 RIGHT JOIN은

첫번째 테이블에는 없는데 두번째 테이블에 있는 데이터들이 모두 나오도록 결합하는 경우이다. 

 

 

그런데 RIGHT JOIN은 거의 잘 쓰이지 않는다. 

왜냐하면 그냥 LEFT JOIN으로 쓰고 A테이블이랑 B테이블 위치만 바꾸면 그게 그거라서..!


4.   OUTER JOIN

이번에는 두 테이블의 합집합을 위해 쓰는 FULL OUTER JOIN이다. 

 

 

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

SQL : Joins with Comparison Operators  (0) 2023.07.20
SQL : Union & Union ALL  (0) 2023.07.20
SQL : JOIN - INNER JOIN  (0) 2023.07.19
SQL : CASE로 pivot하기  (0) 2023.07.19
SQL : Case  (0) 2023.07.14