250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 함바그
- 사전캠프
- Til
- 메모리구조
- 스프링부트
- jvm
- 스파르타사전캠프
- 깃
- 내일배움캠프
- 패키지구조
- 스파르타코딩클럽
- Framework
- 레퍼클래스
- Spring
- til #데이터베이스 #sql
- 계층형
- static
- 깃헙
- 도메인별
- Java
- 스터디카페
- optional
- 프레임워크
- 요시
- springboot
- 자바
- 스파르타코딩클럽 #사전캠프
- 스파르타코딩클럽 #개발자 #백엔드
- 캡슐화
- 키오스크
Archives
- Today
- Total
John's Code Journey
IT공부/SQL[스파르타 사전캠프] SQL걷기반 마지막 문제 본문
728x90
마지막 연습 문제 !
다음과 같은 상품(products) 테이블과 주문(orders) 테이블이 있습니다.
•
products 테이블
id
|
name
|
price
|
1
|
랩톱
|
1200
|
2
|
핸드폰
|
800
|
3
|
타블렛
|
400
|
•
orders 테이블
id
|
product_id
|
quantity
|
order_date
|
101
|
1
|
2
|
2023-03-01
|
102
|
2
|
1
|
2023-03-02
|
103
|
3
|
5
|
2023-03-04
|
44.
모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!
SELECT o.id AS order_id, p.name AS product_name
FROM orders o
JOIN products p ON o.product_id = p.id
ORDER BY o.id;
FROM orders o
JOIN products p ON o.product_id = p.id
ORDER BY o.id;
45.
총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!
SELECT p.id AS product_id,
SUM(p.price * o.quantity) AS total_revenue
FROM orders o
JOIN products p ON o.product_id = p.id
GROUP BY p.id
ORDER BY total_revenue DESC
LIMIT 1;
SUM(p.price * o.quantity) AS total_revenue
FROM orders o
JOIN products p ON o.product_id = p.id
GROUP BY p.id
ORDER BY total_revenue DESC
LIMIT 1;
46.
각 상품 ID별로 판매된 총 수량(quantity)을 계산하는 쿼리를 작성해주세요!
SELECT o.product_id AS product_id,
SUM(o.quantity) AS total_quantity
FROM orders o
GROUP BY o.product_id;
SUM(o.quantity) AS total_quantity
FROM orders o
GROUP BY o.product_id;
47.
2023년 3월 3일 이후에 주문된 모든 상품의 이름을 나열하는 쿼리를 작성해주세요!
SELECT p.name AS product_name
FROM orders o
JOIN products p ON o.product_id = p.id
WHERE o.order_date > '2023-03-03';
FROM orders o
JOIN products p ON o.product_id = p.id
WHERE o.order_date > '2023-03-03';
48.
가장 많이 판매된 상품의 이름을 찾는 쿼리를 작성해주세요!
SELECT p.name
FROM products p
JOIN orders o ON p.id = o.product_id
GROUP BY p.name
ORDER BY SUM(o.quantity) DESC
LIMIT 1;
FROM products p
JOIN orders o ON p.id = o.product_id
GROUP BY p.name
ORDER BY SUM(o.quantity) DESC
LIMIT 1;
49.
각 상품 ID별로 평균 주문 수량을 계산하는 쿼리를 작성해주세요!
SELECT product_id, AVG(quantity) AS avg_quantity
FROM orders
GROUP BY product_id;
FROM orders
GROUP BY product_id;
50.
판매되지 않은 상품의 ID와 이름을 찾는 쿼리를 작성해주세요!
SELECT p.id, p.name
FROM products p
LEFT JOIN orders o ON p.id = o.product_id
WHERE o.product_id IS NULL;
'IT공부 > SQL' 카테고리의 다른 글
[스파르타 사전캠프] Lv2. 날짜별 획득포인트 조회하기 (0) | 2025.02.14 |
---|---|
[스파르타 사전캠프] Lv1. 데이터 속 김서방 찾기 (0) | 2025.02.14 |
[스파르타 사전캠프] SQL걷기반 문제 10 (0) | 2025.02.10 |
[스파르타 사전캠프] SQL걷기반 문제9 (0) | 2025.02.06 |
[스파르타 사전캠프] SQL걷기반 문제8 (0) | 2025.02.05 |