내일배움캠프_QAQC 1기/SQL

SQL 2주차

이지응:) 2025. 1. 16. 21:11
2주차의 목표

1. SQL을 이용하여 숫자 계산 값을 도출한다
2. Query 결과를 원하는 순서대로 조회한다

 

SUM, AVERAGE, COUNT, MIN, MAX

 

숫자 연산 종류

+ 더하기
- 빼기
* 곱하기
/ 나누기

 

합계와 평균 구하기

합계 : SUM(컬럼)

평균 : AVG(컬럼)

select sum(food_preparation_time) total_food_preparation_time,
       avg(delivery_time) avg_food_delivery_time
from food_orders

 

전체 데이터의 개수 구하기

데이터 개수 : COUNT(컬럼) * 컬럼명 대신 1 혹은 * 사용 가능

몇개의 값을 가지고 있는지 구할 때 : DISTINCT

select count(1) count_of_orders,
       count(distinct customer_id) count_of_customers
from food_orders

 

최솟값과 최댓값 구하기

최솟값 : MIN(컬럼)

최댓값 : MAX(컬럼)

select min(price) min_price,
       max(price) max_price
from food_orders

 

 

WHERE 절로 원하는 데이터를 뽑고, 계산해보기

EX) 주문 금액이 30,000원 이상인 주문건의 갯수 구하기

select count(order_id) count_of_orders
from food_orders
where price>=30000

 

EX)  한국 음식의 주문 당 평균 음식가격 구하기

select avg(price) as average_price
from food_orders
where cuisine_type='Korean'

 

GROUP BY로 범주별 연산 한 번에 끝내기

기본 구조

select 카테고리컬럼(원하는컬럼 아무거나),
       sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)

 

EX) 음식 종류별 주문 금액 합계

select cuisine_type,
       sum(price) sum_of_price
from food_orders
group by cuisine_type

 

EX)  Group by 를 이용하여 카테고리별 연산해보기

select restaurant_name,
       max(price) "최대 주문금액"
from food_orders
group by restaurant_name

 

EX)  결제 타입별 가장 최근 결제일 조회하기

select pay_type "결제타입",
       max(date) "최근 결제일"
from payments
group by pay_type

 

ORDER BY

기본 구조

select 카테고리컬럼(원하는컬럼 아무거나),
       sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)
order by 정렬을 원하는 컬럼 (카테고리컬럼(원하는컬럼 아무거나), sum(계산 컬럼) 둘 다 가능)

 

오름차순 : 생략

내림차순 : desc

 

EX) 음식점별 주문 금액 최댓값 조회하기 - 최댓값 기준으로 내림차순 정렬

select restaurant_name,
       max(price) "최대 주문금액"
from food_orders
group by restaurant_name
order by max(price) desc

 

WHERE, GROUP BY, ORDER BY 로 완성되는 SQL 구조

기본 구조

select
from
where
group by
order by

 

 

숙제

음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기

select cuisine_type,
       min(price) min_price,
       max(price) max_price
from food_orders
group by cuisine_type
order by min(price) desc

 

 

 

 

'내일배움캠프_QAQC 1기 > SQL' 카테고리의 다른 글

SQL 5주차  (0) 2025.01.17
SQL 4주차  (0) 2025.01.16
SQL 3주차  (0) 2025.01.16
SQL_1주차  (0) 2025.01.15