* JOIN
{A: 1 2 3 4 5}
{B: 2 3 4 5 6}
- A LEFT JOIN B = 1 2 3 4 5
- A RIGHT JOIN B = 2 3 4 5 6
- A INNER JOIN B = 2 3 4 5
Ex. 한국 음식의 주문별 결제 수단과 수수료율을 조회하기
(조회 컬럼 : 주문 번호, 식당 이름, 주문 가격, 결제 수단, 수수료율)
*결제 정보가 없는 경우도 포함하여 조회
select a.order_id, a.restaurant_name, a.price, b.pay_type, b.vat
from food_orders a left join payments b
on a.order_id=b.order_id
where cuisine_type='Korean'
* NULL 제외
Select restaurant_name,
avg(rating) average_of_rating,
avg(if(rating<>'Not given', rating, null)) average_of_rating2
from food_orders
group by 1
select a.order_id, a.customer_id, a.restaurant_name, a.price, b.name, b.age, b.gender
from food_orders a left join customers b
on a.customer_id=b.customer_id
where b.customer_id is not null
* NULL 대체
select a.order_id,
a.customer_id,
a.restaurant_name,
a.price,
b.name,
b.age,
coalesce(b.age, 20) "null 제거",
b.gender
from food_orders a left join customers b
on a.customer_id=b.customer_id
where b.age is null
'데이터분석 부트캠프 > SQL' 카테고리의 다른 글
| [데이터분석 부트캠프] SQL #7. ROUND, COUNT (0) | 2025.10.02 |
|---|---|
| [데이터분석 부트캠프] SQL #6. PIVOT TABLE, Window Function(RANK, SUM), 날짜 포맷 함수 (0) | 2025.09.30 |
| [데이터분석 부트캠프] SQL #4. IF, CASE, SUBQUERY (0) | 2025.09.26 |
| [데이터분석 부트캠프] SQL #3. 데이터 그룹, 정렬, REPLACE, SUBSTR, CONCAT (0) | 2025.09.25 |
| [데이터분석 부트캠프] SQL #2. 데이터 조건, 연산, 함수, 개수, 최댓값, 최솟값 (0) | 2025.09.24 |