select sum(vat) total_vat, avg(vat) avg_vat
from payments
• 데이터 갯수 구하기 - 데이터 갯수 : COUNT(컬럼)컬럼명 대신 1 혹은 * 사용 가능 - 몇 개의 값을 가지고 있는지 구할 때 : DISTINCT
ex) 주문 테이블의 전체 주문은 몇 건이고 주문을 한 고객은 몇 명인가?
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
✳️ GROUP BY - 카테고리 별 연산 • where절을 사용해서 수십 개의 쿼리를 작성하는 것은 비효율적 • 예를 들어 음식 종류 별로 평균 음식 가격을 구해야 할 때 group by를 이용하면 간편! • 기본 구조 select카테고리 컬럼, sum(계산 컬럼), from테이블 group by카테고리 컬럼
select cuisine_type,
sum(price) sum_of_price
from food_orders
group by cuisine_type
✳️ ORDER BY - 정렬 • 오름차순 및 내림차순으로 정렬하기 • 기본 구조 select카테고리 컬럼, sum(계산 컬럼), from테이블 group by카테고리 컬럼 order by 정렬을 원하는 컬럼
ex) 음식 종류별 주문 금액 합계를 ‘주문 금액 합계’ 기준으로 오름차순 정렬
select cuisine_type,
sum(price) sum_of_price
from food_orders
group by cuisine_type
order by sum(price)
• 정렬 종류
종류
구문
예시
오름차순
생략
order by sum(price)
내림차순
desc
order by sum(price) desc
✳️ SQL 기본 전체 구조 select from where group by order by
[숙제]
✏️ 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기
select cusine_type,
min(price) min_price,
max(price) max_price
from food_orders
group by cusine_type
order by min(price) desc
[고찰]
<개인적인 감상> 전체적인 기본 구조를 다지고 계산법을 배우며 엑셀과 유사하다고 느꼈다. 개인적으로 실험했었던 데이터들도 정리를 다시 해본다면 유용하게 쓰일 것 같다. 좀 더 다양한 계산법들이 있다면 얼른 배워보고 싶다! <강의 내용과 실전 연습 회고> • 이용할 수 있는 기본틀이 갖춰지며 명령문장 또한 길어지는 걸 보고 잘 파악해서 쿼리를 잘 작성해야 함을 느낌 • 중간중간 오류 코드를 파악하며 오류해결을 해냄 • 근데 선생님께서 컬럼의 대문자를 꼭 유의해서 쓰라고 하셨었는데.. 나는 소문자로 써도 그냥 잘 나와서 왜 유의하라고 하셨는지 궁금해짐...