- 2주차
SELECT food_preparation_time,
delivery_time,
food_preparation_time( + , - , * , / )delivery_time AS total_time
FROM food_orders
SELECT SUM(food_preparation_time) total_food_preparation_time,
AVG(delivery_time) avg_food_preparation_time
FROM food_orders
SELECT COUNT(1) count_of_orders,
COUNT(DISTINCT customer_id) count_of_customers
FROM food_orders
SELECT MIN(price) min_price,
MAX(price) max_price
FROM food_orders
가. 주문 금액이 30,000원 이상인 주문건의 갯수 구하기
가-1. QUERY 적기 전 흐름 정리하기
#어떤 테이블에서 데이터를 뽑을 것인가 > 주문테이블
#어떤 컬럼을 이용할 것인가 > 주문 금액, 주문 번호
#어떤 조건을 지정해야 하는가 > 30,000원 이상
#어떤 함수(수식)을 이용해야 하는가 > 갯수 구하는 수식
가-2. 구문으로 만들기
#어떤 테이블에서 데이터를 뽑을 것인가 > FROM food_orders
#어떤 컬럼을 이용할 것인가 > order_id, price
#어떤 조건을 지정해야 하는가 > WHERE price >= 30000
#어떤 함수(수식)을 이용해야 하는가 > COUNT(order_id) 또는 COUNT(1)
가-3. 전체 구조로 합치기
SELECT COUNT(order_id) count_of_orders
FROM food_orders
WHERE price>=30000
나. 한국 음식의 주문당 평균 음식가격 구하기
나-1. QUERY 적기 전 흐름 정리하기
#어떤 테이블에서 데이터를 뽑을 것인가 > 주문테이블
#어떤 컬럼을 이용할 것인가 > 음식 종류, 주문 금액, 주문 수량
#어떤 조건을 지정해야 하는가 > 한국 음식
#어떤 함수(수식)을 이용해야 하는가 > 나누기, 평균
나-2.구문으로 만들기
#어떤 테이블에서 데이터를 뽑을 것인가 > FROM food_orders
#어떤 컬럼을 이용할 것인가 > cuisine_type, price, quantity
#어떤 조건을 지정해야 하는가 > cuisine_type = 'Korean'
#어떤 함수(수식)을 이용해야 하는가 > price/quantity, AVG
나-3. 전체 구조로 합치기
SELECT AVG(price) AS average_price
FROM food_orders
WHERE cuisine_type='Korean'
기본 구조:
SELECT 카테고리컬럼(원하는컬럼 아무거나),
SUM(계산 컬럼),
FROM
GROUP BY 카테고리컬럼(원하는컬럼 아무거나)
SELECT pay_type "결제타입",
MAX(date) "최근 결제일"
FROM payments
GROUP BY pay_type
기본 구조:
SELECT 카테고리컬럼(원하는컬럼 아무거나),
SUM(계산 컬럼),
FROM
GROUP BY 카테고리컬럼(원하는컬럼 아무거나)
ORDER BY 정렬을 원하는 컬럼 (카테고리컬럼(원하는컬럼 아무거나), SUM(계산 컬럼) 둘 다 가능)
SELECT restaurant_name,
MAX(price) "최대 주문금액"
FROM food_orders
GROUP BY restaurant_name
ORDER BY MAX(price) DESC
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
☑️ POINT!
결과를 정렬하는 ORDER BY는 SELECT 문에서 데이터를 선택한 후 실행된다.
쿼리 작성 전에 흐름을 정리하고
각 구문별로 작성해본 후
전체 구조로 합치는 연습하기!