SQL

AI 웹 개발 공부 6일 차 (사전 캠프)

zhelddustmq 2024. 6. 5. 16:27

SQL 연습문제 2

 

상품 테이블(products)

 

id product_name price category
1 맥북 프로 1200 컴퓨터
2 다이슨 청소기 300 생활가전
3 갤럭시탭 600 컴퓨터
4 드롱기 커피머신 200 주방가전

 

  1. products 테이블에서 제품 이름(product_name)과 가격(price)만을 선택하는 쿼리를 작성해주세요.
  2. products 테이블에서 제품 이름에 '프로'가 포함된 모든 제품을 선택하는 쿼리를 작성해주세요.
  3. products 테이블에서 제품 이름이 '갤'로 시작하는 모든 제품을 선택하는 쿼리를 작성해주세요.
  4. products 테이블에서 모든 제품을 구매하기 위해 필요한 돈을 계산하는 쿼리를 작성해주세요.

1.

select product_name, price
from products

 

 

2.

select *
from products
where product_name LIKE '%프로%'

 

3.

select *
from products
where product_name LIKE '갤%'

 

4.

SELECT sum(price)
from products

 

 

SQL 연습문제 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 테이블에서 배송비가 높은 금액 순으로 정렬하는 쿼리를 작성해주세요!

 

1.

SELECT customer_id
from orders
where amount >= 2

 

2.

SELECT *
from orders
where amount >= 2 and order_date > '2023-11-02'

 

3.

SELECT *
from orders
where amount < 3 and shipping_fee > 15000

 

4.

SELECT *
from orders
order by shipping_fee desc

 

 

SQL 연습문제 4

학생 테이블(sparta_students)

id name track grade enrollment_year
1 르탄이 Node.js A 2023
2 배캠이 Spring B 2022
3 구구이 Unity C 2021
4 이션이 Node.js B 2022

 

  1. sparta_students 테이블에서 모든 학생의 이름(name)과 트랙(track)을 선택하는 쿼리를 작성해주세요!
  2. sparta_students 테이블에서 Unity 트랙 소속이 아닌 학생들을 선택하는 쿼리를 작성해주세요!
  3. sparta_students 테이블에서 입학년도(enrollment_year)가 2021년인 학생과 2023년인 학생을 선택하는 쿼리를 작성해주세요!
  4. sparta_students 테이블에서 Node.js 트랙 소속이고 학점이 ‘A’인 학생의 입학년도를 선택하는 쿼리를 작성해주세요!

1.

SELECT name, track
from sparta_students

 

2.

SELECT *
from sparta_students
where track <> 'Unity'

 

3.

SELECT *
from sparta_students
where enrollment_year = '2021' or enrollment_year = '2023'

 

4.

SELECT enrollment_year
from sparta_students
where track = 'Node.js' and grade = 'A'

 

----------------------------------------------------------

나만의 필수암기노트

 

DBeaver에서 서브쿼리문만 실행하고 싶을땐 드래그 후 ctrl + Enter

 

 

SQL주요 명령어

DATE_FORMAT

예제

SELECT  ANIMAL_ID
        ,NAME
        ,DATE_FORMAT(DATETIME, '%Y-%m-%d') AS 날짜
  FROM  ANIMAL_INS
 ORDER
    BY  ANIMAL_ID

 

 

LEFT JOIN과 INNER JOIN

-- LEFT JOIN
-- LEFT에 (1,2,3,4) RIGHT에 (2,3,4,5) 면 1,2,3,4를 JOIN함
SELECT 조회 할 컬럼
FROM 테이블1 a LEFT JOIN 테이블2 b ON a.공동컬럼명=b.공동컬럼명


-- INNER JOIN
-- LEFT에 (1,2,3,4) RIGHT에 (2,3,4,5) 면 2,3,4를 JOIN함
SELECT 조회 할 컬럼
FROM 테이블1 a INNER JOIN 테이블2 b ON a.공동컬럼명=b.공동컬럼명