본문 바로가기

MySQL

MySQL join을 활용하여 테이블 합치기(left,right)

두개의 테이블이 있다.

select * from customers;                                                                       select *from orders;

이 두 테이블을 합쳐보려한다..

이 쿼리는 orders 테이블과 customers 테이블을 고객의 ID (customer_id)를 기준으로 INNER JOIN하여 두 테이블의 정보를 합친다. 이를 통해 주문 정보와 해당 주문을 한 고객의 정보를 함께 조회할 수 있다.


JOIN은 두 개 이상의 테이블에서 데이터를 가져와서 연관된 열(column)을 기준으로 행(row)을 결합하는데 사용된다. JOIN을 사용하면 여러 테이블의 데이터를 결합하여 새로운 결과 세트를 생성할 수 있다.

ON 절은 JOIN과 함께 사용되며, 특정 조건에 따라 행(row)을 결합하는 데 사용된다. 즉, ON 절은 각 행(row)이 어떤 조건에 맞는지를 결정하여 두 테이블을 연결한다. 일반적으로 ON 절은 두 테이블 간의 관계를 정의하는 데 사용된다.

orders와 customers 를 각각 o 와 c로 줄여서 사용 할 수 있다.

중복된 컬럼 이름은,아래 화면 처럼 변경시켜준다.(o.id =>order_id)

LEFT JOIN

LEFT JOIN은 왼쪽 테이블의 모든 레코드를 포함하고 오른쪽 테이블의 일치하는 레코드를 포함하는 JOIN 유형이다. 만약 오른쪽 테이블에 일치하는 레코드가 없는 경우에도 왼쪽 테이블의 모든 레코드가 결과에 포함된다. 이를 통해 왼쪽 테이블의 모든 데이터를 유지하면서 오른쪽 테이블의 일치하는 데이터를 가져올 수 있다.

RIGHT JOIN

RIGHT JOIN은 LEFT JOIN과 비슷하지만, 오른쪽 테이블의 모든 레코드를 포함하고 왼쪽 테이블의 일치하는 레코드를 포함하는 JOIN 유형이다. 따라서 오른쪽 테이블의 모든 데이터를 유지하면서 왼쪽 테이블의 일치하는 데이터를 가져온다.