SQL 기초 - 카페 매출 (2)

어제에 이어서 오늘도 가페매출 DB에 대해서 공부한다.





3. 다음중 취소된 주문내역(order_details)이 아닌것은?

1) 2번 2) 3번 3) 4번 4) 11번


▶ 어제는 글 취소된 주문이 아닌것은? 이라고 이해했었다.  문제를 다시 보니 주문내역이 아닌것임을 확인하고 다음과 같이 다시 쿼리를 짜봄

-- 취소된 주문내역의 ID, 주문번호 ID

select order_details.id, orders.id from order_details

left join orders

on orders.id = order_details.order_id

where

orders.status = 'CANCELLED' ;

이렇게 하면 아래와 같이 결과가 나온다.

주문내역ID / 주문번호

2                 2

3                 2

4                 2

14             11

20                 15

즉, 정답은 4) 11번 주문 내역이다. 


4. 주문 14의 주문음료명, 가격, 주문량 음료별 매출액 그리고 총 매축액은? 

1) 음료별 상세 내역 

select beverages.name, beverages.price, order_details.count, sum(beverages.price * order_details.count) from order_details

left join beverages

on order_details.beverage_id = beverages.id

where

order_details.order_id = 14 

group by beverages.name, beverages.price, order_details.count ; 

이렇게 하면 아래처럼 결과 값이 도출된다.

음료명                가격        수량    매출액

"라떼"         5000 2 10000

"레몬 에이드" 3800 1 3800

"아메리카노" 4500 8 36000

2) 총 매출액 49,800원

select 

sum(order_details.count * beverages.price)

from order_details

left join beverages

on order_details.beverage_id = beverages.id

where

order_details.order_id = 14 ;

댓글