내일배움캠프/SQL

[사전 캠프 3일차] 엑셀보다 쉽고 빠른 SQL 2주차, 걷기반 1~4

hyezdata 2025. 2. 5. 15:14
SQL 2주차

 

01 계산하기 (SUM, AVG, COUNT, DISTINCT, MIN, MAX)

1. 합계 & 평균 (SUM, AVG)

SELECT SUM(food_preparation_time) total_food_preparation_time,
       AVG(delivery_time) avg_food_delivery_time
FROM food_orders

 

2. 개수 & 중복 제거 (COUNT, DISTINCT)

SELECT COUNT (1) count_of_orders,
       COUNT(DISTINCT customer_id) count_of_customers
FROM food_orders

 

※ 전체 표현할 때 1 혹은 * 사용 가능

 

3. 최소값 & 최대값 (MIN, MAX)

SELECT MIN(price) min_price,
       MAX(price) max_price
FROM food_orders

 

02 카테고리별 연산하기 (GROUP BY)

음식 종류별로 평균 음식 가격을 구하기 위해 where 절을 사용해서 수십개의 쿼리를 작성하는 것은 너무 비효율적이다.

GROUP BY 를 이용해 '원하는 단위로 (eg. 음식 종류별, 식당별) 나누는 것’ 을 '카테고리별로’ 계산을 한다라고 하자.

그러니까 만약 GROUP BY cuisine_type으로 했다면 음식 종류별로 묶어준다는 말 (한식, 일식, 중식 이렇게)

SELECT cuisine_type,
       SUM(price) sum_of_price
FROM food_orders
GROUP BY cuisine_type

 

03 정렬하기 (ORDER BY)

SELECT cuisine_type,
       SUM(price) sum_of_price
FROM food_orders
GROUP BY cuisine_type
ORDER BY sum(price)

 

※ 오름차순 : ASC (생략 가능)

    내림차순 : DESC

 

※ 여러 컬럼 있을 경우 먼저 써 있는 컬럼 순서대로 정렬

 

HW 2주차
음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기
SELECT cuisine_type,
       MIN(price) min_price,
       MAX(price) max_pric
FROM food_orders
GROUP BY cuisine_type
ORDER BY min_price desc

걷기반 과제 1~4

https://ambiguous-thorn-827.notion.site/SQL-190e90f50cb8802a8060e6ec72651815?pvs=4

 

 

 

 

728x90
반응형