데이터베이스

MySQL 테이블 합치기 join/left join

공부짱짱열심히하기 2022. 12. 8. 12:13

테이블 합치기

MySQL에서 데이터끼리 합치는 방법

테이블간 연결을 위해선 당연히 공통되는 부분이 존재 해야한다.

공통되는 부분은 보통 id컬럼으로 정하고 다른 테이블에 첫번째 id컬럼을 인식할 컬럼을 만들어주면된다.

 

 

먼저 이렇게 테이블하나를 만들었다면.

 

이렇게 첫번째 테이블의 id와 join이 가능한 컬럼을 만들어줘야한다.

 

이때 주의 해야하는게

 

Unsigned 즉 부호 없음을 체크를 해줘야 한다는것인데

당연히 id값엔 음수가 들어갈수없기 때문에 저부분이 체크가 되어 있어야함.

 

 

이름은 원하는대로 적고

연결해줄 테이블을 찾은다음

연결해줄 컬럼을 눌러주면됨

 

select *
from 테이블1
join 합처질 테이블
on 테이블.id = 합처질테이블.합치기위해만든_id;

테이블1과 합처질 테이블을 join 하고 테이블id와 합치기위해만든 id컬럼끼리 연동 하겠다.

 

이명령어는 이런식으로 약자 표현이 가능하며

 

 

 

결과는 id값을 중심으로 합쳐진다.

 


join시 데이터 셀렉트

 

똑같이 원하는 컬럼을 입력하면 되는데 어떤 테이블에 있는 컬럼인지 안적어도 셀렉트가 되지만

겹치는 컬럼이 있을수 있으니 항상 적는걸 생활화

 


모든데이터 join

단순하게 join했을경우 한쪽데이터엔 없는 id컬럼일경우 당연히 제거 되서 join이 된다.

모든 정보를 합치고 싶다면 join 옆에 left join을 해주면 된다.

select *
from 테이블1
left join 합처질 테이블
on 테이블.id = 합처질테이블.합치기위해만든_id;

 



데이터 합치기
select *
from 테이블1
join 합처질 테이블
on 테이블.id = 합처질테이블.합치기위해만든_id;


모든데이터
select *
from 테이블1
left join 합처질 테이블
on 테이블.id = 합처질테이블.합치기위해만든_id;