
- JOIN
- 목적: 두개의 테이블 연결 해 줌
- 문법: 테이블 AS t1 JOIN 테이블 AS t2 On t1.컬럼 = t2.컬럼
- LEFT JOIN, RIGHT JOIN, INNER JOIN 있고, 현업에서는 주로 LEFT JOIN
모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!
SELECT o.id
,p.name
FROM product AS p
LEFT JOIN orders AS o
ON p. id = o.product_id
총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!
SELECT p.id
,SUM(o.quantity * p.price) AS total_sales
FROM product AS p
LEFT JOIN orders AS o
ON p. id = o.product_id
GROUP BY p.id
ORDER BY total_sales DESC
LIMIT 1
각 상품 ID별로 판매된 총 수량(quantity)을 계산하는 쿼리를 작성해주세요!
SELECT p.id
,SUM(o.quantity) AS total_quantity
FROM product AS p
LEFT JOIN orders AS o
ON p. id = o.product_id
GROUP BY p.id
2023년 3월 3일 이후에 주문된 모든 상품의 이름을 나열하는 쿼리를 작성해주세요!
SELECT p.name
FROM product AS p
LEFT JOIN orders AS o
ON p. id = o.product_id
WHERE o.order_date >= '2023-03-03'
가장 많이 판매된 상품의 이름을 찾는 쿼리를 작성해주세요!
SELECT p.name
,SUM(o.quantity) AS total_quantity
FROM product AS p
LEFT JOIN orders AS o
ON p. id = o.product_id
GROUP BY p.id
ORDER BY total_quantity
LIMIT 1
각 상품 ID별로 평균 주문 수량을 계산하는 쿼리를 작성해주세요!
SELECT p.id
,AVG(o.quantity) AS avg_quantity
FROM product AS p
LEFT JOIN orders AS o
ON p. id = o.product_id
GROUP BY p.id
판매되지 않은 상품의 ID와 이름을 찾는 쿼리를 작성해주세요!
SELECT p.id
,p.name
FROM product AS p
LEFT JOIN orders AS o
ON p. id = o.product_id
WHERE o.product_id IS NULL