Database/SQL

SQL 문법 다지기(3)

프린스 알리 2024. 10. 3.

어떤 고객에게 어떤 주문이 들어왔는지를 파악할 수 있는 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

문제

  1. orders 테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요!
  2. orders 테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!
  3. orders 테이블에서 주문 수량이 3개 미만이면서 배송비(shipping_fee)가 15000원보다 비싼 주문을 선택하는 쿼리를 작성해주세요!
  4. 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

댓글