데이터 베이스

데이터 베이스(19) 2개 테이블을 하나로 합치기 join함수

개발연습자1 2022. 12. 8. 12:27

데이터 베이스는 실제 실무에서 쓰일때 유기적으로 연결된 데이터가 생길수 밖에 없다. 이때 MySQL은 데이터 베이스 테이블끼리 join함수로 합칠수 있는데 합치는 방법을 알아보자

 

우선 데이터 테이블을 형성할때 조건이 필요하다

 

두 테이블에 컬럼을 기준으로 합쳐야하며 합치기 전에 기준이 될 컬럼 둘을 연결시켜야 한다.

 

 

우선 연결하려고 하는 데이터의 형식과 설정이 맞아야 한다. 위에 customer_id와 id 컬럼의 형식과 설정을 맞춰주었다. 

 

 

orders 테이블 설정창 밑에 foreign keys를 클릭하고  foreign keys 이름을 설정하고 반응할 데이터를 설정

컬럼에서 customer_id와 id를 연결한다.

 

이제 데이터테이블을 만들고 입력창에 코드를 입력한다.

-- 2개 테이블을 하나로 합치세요.
select *
from orders 
join customers
on orders.customer_id = customers.id ;

customers 테이블
orders 테이블

두 테이블이 customer_id와 id 컬럼기준으로 합쳐진 형태를 볼수 있다.

 

만약 고객이 주문하지 않은 빈 데이터가 합쳐지는것을 방지하기 위해

 

left함수로 데이터 테이블에 기준을 따로 설정 할 수 있다.

 

-- 모든 고객 데이터를 기준으로, 주문정보를 붙여주세요.
-- 어떤고객은 주문을 안했는지 확인이 가능함
-- 주문을 하지 않으면 null로 표시된다.

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

orders가 기준이 되어 합치게 된다.

반응형