본문 바로가기

TOOL/MySQL

MySQL - Join과 left join 하는 방법과 예시

반응형
join

 

 

 

여러개의 테이블을 합쳐서 가져올때 사용

 

 

 

select * from customer;

 

select * from order;

 

on은 연결고리가 되어줄 컬럼을 적어준다.

 

즉, Foreign Key로 설정한 컬럼을 작성한다.

 

select *
from customers
join orders
	on customers.id = orders.customer_id;

 

 

 

테이블 이름을 줄여서 사용하는 방법

from 뒤 테이블명, join 뒤 테이블명 뒤에 약자를 설정할 수 있다.

 

select * from customers c join orders o on c.id = o.customer_id ;

 

 

 

컬럼의 이름이 중복되는 경우는, 컬럼 이름을 바꿔서 가져와야 한다.

select c.id as customer_id , c.first_name, c.email, o.id as order_id, o.order_date, o.amount
from customers c
join orders o
on c.id = o.customer_id ;

 

 

 

지금까지 위에서 한 join은 두개 테이블에 공통으로 들어있는 데이터만 가져온 것이다. (교집합)

 

 

 

모든 고객 데이터를 가져오되, 주문정보가 없는 고객도 나타나도록 가져오는 방법 left join

left join은 왼쪽의 테이블 데이터를 모두 가져와서 join해라 라는 뜻

 

데이터가 공백인 null을 포함해서 모두 가져올 수 있다.

 

select *
from customers c
left join orders o
on c.id = o.customer_id ;

 

반응형

'TOOL > MySQL' 카테고리의 다른 글

MySQL - ifnull( )  (0) 2022.05.17
MySQL - group by의 having 사용 방법  (0) 2022.05.17
MySQL - 여러 테이블 생성 시 foreign key 설정하는 방법  (0) 2022.05.17
MySQL - if( )  (0) 2022.05.17
MySQL - CASE  (0) 2022.05.16