어떤 고객에게 어떤 주문이 들어왔는지를 파악할 수 있는 orders(주문) 테이블이 아래에 있다.
|
id
|
customer_id
|
product_id
|
amount
|
shipping_fee
|
order_date
|
|
1
|
719
|
1
|
3
|
50000
|
2023-11-01
|
|
2
|
131
|
2
|
1
|
10000
|
2023-11-02
|
|
3
|
65
|
4
|
1
|
20000
|
2023-11-05
|
|
4
|
1008
|
3
|
2
|
25000
|
2023-11-05
|
|
5
|
356
|
1
|
1
|
15000
|
2023-11-09
|
문제
orders테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요!orders테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!orders테이블에서 주문 수량이 3개 미만이면서 배송비(shipping_fee)가 15000원보다 비싼 주문을 선택하는 쿼리를 작성해주세요!orders테이블에서 배송비가 높은 금액 순으로 정렬하는 쿼리를 작성해주세요!
문제 풀이
데이터베이스와 테이블 생성하기
CREATE DATABASE step3;
USE step3;
CREATE TABLE orders(
id INT PRIMARY KEY,
customer_id INT,
product_id INT,
amount INT,
shipping_fee INT,
order_date DATE
);
INSERT INTO orders (id, customer_id, product_id, amount, shipping_fee) VALUES
(1, 719,1, 3, 50000, '2023-11-01'),
(2, 131, 2, 1, 10000, '2023-11-02'),
(3, 65, 4, 1, 20000, '2023-11-05'),
(4, 1008, 3, 2, 25000, '2023-11-05'),
(5, 356, 1, 1, 15000, '2023-11-09');

1번
orders테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요!
조건식엔 WHERE 명령어를 사용한다.
정답 :
SELECT customer_id FROM orders WHERE amount >= 2;
정답 확인 :

2번
orders테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!
정답 :
SELECT * FROM orders WHERE order_date >= '2023-11-02' AND amount >= 2;
정답 확인 :

3번
orders테이블에서 주문 수량이 3개 미만이면서 배송비(shipping_fee)가 15000원보다 비싼 주문을 선택하는 쿼리를 작성해주세요!
정답 :
SELECT * FROM orders WHERE amount < 3 AND shipping_fee > 15000;
정답 확인 :

4번
orders테이블에서 배송비가 높은 금액 순으로 정렬하는 쿼리를 작성해주세요!
정답 :
SELECT * FROM orders ORDER BY shipping_fee DESC;
정답 확인 :

'Database > SQL' 카테고리의 다른 글
| SQL 문법 다지기(5) (4) | 2024.10.07 |
|---|---|
| SQL 문법 다지기(4) (1) | 2024.10.04 |
| SQL 문법 다지기(2) (6) | 2024.10.02 |
| SQL 문법 다지기 (7) | 2024.10.02 |
| SQL 기초 (3) | 2024.09.30 |
댓글