MySql

[내일 배움 캠프 4-5] JOIN이란?

kimyongjun0129 2025. 3. 24. 17:52

필요한 데이터가 꼭 하나의 테이블에 모여있지는 않는다.

이럴 때 여러 테이블에서 데이터를 불러오는 방법은 JOIN을 활용하면 된다.

 

1. JOIN

- 서로 다른 테이블에서 동시에 데이터를 뽑아올 때 사용한다.

- 각 테이블은 공통으로 갖는 컬럼이 있다.

- 공통 컬럼을 기준으로 테이블을 합쳐서, 각각 테이블에서 필요한 데이터를 조회할 수 있도록 만들어 준다.

 

 

 

 

3. JOIN 구조

SELECT 별명1.컬럼명,

                .....

FROM 테이블명1 AS 별명1 ~~ JOIN 테이블명2 AS 별명2 ON 별명1.공통컬럼1= 별명2.공통컬럼2

SELECT f.restaurant_name,
       f.price,
       p.pay_type
FROM food_orders f INNER JOIN payments p ON f.order_id=p.order_id
  • 다음과 같이 각 테이블의 별명(f, p)을 설정하면, 각 테이블의 컬럼을 조회할 때 "별명.컬럼명" 형식으로 사용해야 한다.

 

 

 

 

3. JOIN 종류

  • LEFT JOIN : 공통 컬럼(키값)을 기준으로, 하나의 테이블에 값이 없더라도 모두 조회되는 경우를 의미한다. 
SELECT *
FROM food_orders f LEFT JOIN payments p ON f.order_id=p.order_id

결과 : LEFT JOIN의 결과이다.

 

 

  • INNER JOIN : 공통 컬럼(키값)을 기준으로, 두 테이블 모두에 있는 값만 조회한다.
SELECT *
FROM food_orders f INNER JOIN payments p ON f.order_id=p.order_id

결과 : INNER JOIN의 결과이다.

 

 

  • 그 밖에도 RIGHT JOIN, CROSS JOIN, SELF JOIN 등이 있다.