SQL 걷기반

마지막 연습 문제 !

news0516 2024. 10. 17. 17:28

products 테이블

 

orders 테이블


44.모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!
select O.id,
P.name 
from product p inner join `ORDER` O on P.id = O.product_id 


45. 총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!
select p.id,
price * quantity as
from product p inner join  `ORDER` O on P.id = O.product_id 
order by 2 desc
limit 1



46. 각 상품 ID별로 판매된 총 수량(quantity)을 계산하는 쿼리를 작성해주세요!
select p.id,
o.quantity 
from product p inner join  `ORDER` O on P.id = o.product_id 


47. 2023년 3월 3일 이후에 주문된 모든 상품의 이름을 나열하는 쿼리를 작성해주세요!
select p.name,
order_date 
from product p inner join  `ORDER` O on P.id = O.product_id 
where order_date > '2023-03-03'


48. 가장 많이 판매된 상품의 이름을 찾는 쿼리를 작성해주세요!
select p.name,
max(o.quantity)
from product p inner join `ORDER` O on P.id = O.product_id 
group by 1
order by 2 desc
limit 1



49. 각 상품 ID별로 평균 주문 수량을 계산하는 쿼리를 작성해주세요!
select p.id,
avg(o.quantity)
from product p inner join `ORDER` O on P.id = O.product_id 
group by 1


 
50. 판매되지 않은 상품의 ID와 이름을 찾는 쿼리를 작성해주세요!
select p.id,
p.name
from product p inner join `ORDER` O on P.id = O.product_id 
where quantity = 0
혹은
where o.id is null