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
- INNER JOIN : 공통 컬럼(키값)을 기준으로, 두 테이블 모두에 있는 값만 조회한다.
SELECT *
FROM food_orders f INNER JOIN payments p ON f.order_id=p.order_id
- 그 밖에도 RIGHT JOIN, CROSS JOIN, SELF JOIN 등이 있다.