본문 바로가기
MySQL

MySQL - join 함수 (join , left join)

by leo104 2022. 12. 8.
728x90

customers 테이블

orders 테이블

 

JOIN 하기

 

두개 테이블을 하나로 합쳐서 가져오기

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

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

테이블명 바꿀이름(보통 첫글자를 따옴)

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

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

위의 경우는 id가 서로 다르지만 동일한 컬럼처럼 보인다.

이런 경우는 아래처럼 바꿔야한다.

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

 

LEFT JOIN

앞의 테이블은 모든 데이터를 가져오는 방법

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

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

 

728x90