본문 바로가기
MySQL/기본 개념 및 지식

[MySQL] 21. OUTER JOIN

글: Song hyun 2024. 6. 5.
728x90
반응형

[MySQL] 21. OUTER JOIN

1. OUTER JOIN /LEFT JOIN

2. 시나리오 코드 : LEFT JOIN

3. 시나리오 코드 : RIGHT JOIN

 


 

1. OUTER JOIN /LEFT JOIN

 

-왼쪽 테이블을 기준으로 합치며, ON 절에 있는 조건 컬럼의 값이 같은 데이터를 합친다.

-오른쪽 테이블에 값이 같은 데이터가 없다면, NULL이 삽입된다.

*INNER JOIN은 NULL 값이 표현되지 않는다.

 

-아래의 두 테이블로 OUTER JOIN을 실행한다면, 왼쪽의 student 테이블과, join된 grade만 표현된다. 


2. 시나리오 코드 : LEFT JOIN

 

 

(1) 1단계

tb_stduent가 기준이 된 JOIN 테이블

-- 1단계
select *
from tb_stduent as s
left join tb_grade as g
on s.grade=g.grade;

(2) 2단계

grade가 기준이 된 join 테이블

 

-1단계에서는 tb_stduent가, 2단계에서는 tb_grade가 기준이 되고 있다.

-테이블의 기준이 어떤 것이냐에 따라서 표의 모양이 달라진다.

=> 먼저 접근하는 테이블이 기준 테이블이 된다! (LEFT JOIN)

-- 2단계
select *
from tb_grade as g
left join tb_stduent as s
on g.grade=s.grade;

3. 시나리오 코드 : RIGHT JOIN

 

(1) RIGHT JOIN

-LEFT JOIN 2단계와 비교할 수 있다.

-- RIGHT OUTER JOIN
select *
from tb_stduent as s
right join tb_grade as g
on s.grade=g.grade;

 

728x90
반응형