반응형
-- 주문 상품 가격이 1,000원인 것의 개수를 가져오세요
SELECT COUNT(*)
FROM tb_order_item
WHERE order_price = 1000;
-- 주문 상품의 가격이 1000원 초과 인 것들의 합을 구하시오
SELECT SUM(order_price)
FROM tb_order_item toi
WHERE order_price > 1000;
-- 주문 상품의 가격이 1000원 초과 2000원 이하 인 것들의 주문 상품 상태를 가져오세요!
SELECT order_item_status
FROM tb_order_item
WHERE order_price > 1000 AND 2000 >= order_price;
-- 주문 상품의 가격 별 개수를 가져오세요.
SELECT order_price, order_item_id, COUNT(*)
FROM tb_order_item
GROUP BY order_price;
-- 주문 상품 중 10월에 취소한 상품의 총 가격을 가져오세요.
SELECT SUM(order_price)
FROM tb_order_item
WHERE order_item_status = 'CANCEL' and DATE_FORMAT(cancel_date, '%Y%m') = '202210';
-- 주문 상품 중 1월에 취소한 상품의 총 가격을 가져오세요. 없다면 0으로 표시해주세요.
SELECT IFNULL(SUM(order_price), 0) AS price
FROM tb_order_item
WHERE order_item_status = 'CANCEL' and DATE_FORMAT(cancel_date,'%Y%m') = '202201';
-- 유저아이디가 1인 사람의 이름과 주문의 주문상태를 가져오세요.inner join이 교집합
-- outer join 안에 left와 right 가 있음
SELECT tu.name, to2.order_status
FROM tb_user tu LEFT JOIN tb_order to2 ON tu.user_id = to2.user_id
-- 유저아이디가 1인 사람의 주문한 상품의 가격이 2,000원 이상 인 것을 모두 가져오세요.
SELECT tu.name, toi.order_price
FROM tb_user tu LEFT JOIN tb_order to3 ON tu.user_id = to3.user_id
LEFT JOIN tb_order_item toi ON to3.order_id = toi.order_id
WHERE
tu.user_id = 1
and toi.order_price >= 2000;
https://www.geeksforgeeks.org/date_format-function-in-mysql/
반응형
'PO로로 > 오늘도 SQL' 카테고리의 다른 글
[오늘도 SQL] LIKE 사용해서 쿼리 추출하기 (0) | 2022.11.08 |
---|---|
[오늘도 SQL] LEFT JOIN 복습하기 (0) | 2022.11.08 |
[오늘도 SQL] GROUP BY 사용하기 (0) | 2022.11.07 |
[오늘도 SQL] DATEFORMAT을 사용해서 SQL 쿼리 작성하기 (0) | 2022.10.12 |
[오늘도 SQL] LIKE 검색 사용해서 SQL쿼리 작성해보기 (1) | 2022.10.10 |