# 고객 아이디 44번이 주문한 상품이름 출력
select p.ProductName as ID44_orderlist from order_details as od
inner join orders as o on od.OrderID = o.OrderID
inner join customers as c on o.CustomerID = c.CustomerID
inner join products as p on od.ProductID = p.ProductID
where c.CustomerID = 44
;
# 종업원 lastname king이 처리한 상품의 개수와 고객의 개수를 출력
select sum(od.Quantity) as prod_count, count(o.customerID) as cust_count from order_details as od
inner join orders as o on od.OrderID = o.OrderID
inner join employees as e on o.EmployeeID = e.EmployeeID
where e.LastName = 'king'
;
# 카테고리 Beverages를 구매한 고객의 이름을 출력 (중복제거, 내림차순)**
select distinct c.CustomerName from order_details as od
inner join orders as o on od.OrderID = o.OrderID
inner join customers as c on o.CustomerID = c.CustomerID
inner join products as p on od.ProductID = p.ProductID
inner join categories as ca on p.CategoryID = ca.CategoryID
where ca.CategoryName = 'Beverages'
order by c.CustomerName desc
;
# 직원아이디 3이 처리한 주문 중에서 300달러(price x quantity = 주문금액 ) 이상의 주문을 한 고객 목록 조회**
select C.CustomerName as ID3_300up from order_details as od
inner join orders as o on od.OrderID = o.OrderID
inner join customers as c on o.CustomerID = c.CustomerID
inner join employees as e on o.EmployeeID = e.EmployeeID
inner join products as p on od.ProductID = p.ProductID
where e.EmployeeID = 3 and p.price*od.Quantity > 300
;
# 각 고객의 총 주문 금액 상위 10의 고객명과 주문 총 금액 조회**
select c.CustomerName, round(p.Price*od.Quantity, 2) as price from order_details as od
inner join orders as o on od.OrderID = o.OrderID
inner join customers as c on o.CustomerID = c.CustomerID
inner join products as p on od.ProductID = p.ProductID
order by p.Price*od.Quantity desc
limit 10
;
# 각 국가별 주문 수와 총 주문 금액 조회 (서브쿼리 사용)**
select distinct c.Country as co, (
select count(co) from customers
inner join orders as o on customers.CustomerID = o.CustomerID
where Country in (select distinct co)
) as Country_count, (
select round(sum(price*Quantity), 2) from order_details as od
inner join orders as o on od.OrderID = o.OrderID
inner join customers as c on o.CustomerID = c.CustomerID
inner join products as p on od.ProductID = p.ProductID
where Country in (select distinct co)
) as price_sum
from order_details as od
inner join orders as o on od.OrderID = o.OrderID
inner join customers as c on o.CustomerID = c.CustomerID
inner join products as p on od.ProductID = p.ProductID
;