내일배움캠프/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
반응형