SQL로 계산하기
SUM, AVERAGE, COUNT, MIN, MAX
-SQL에서도 숫자 연산 기호 사용 가능
연산자 | 설명 |
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
※예시
select food_preparation_time,
delivery_time,
food_preparation_time + delivery_time as total_time
from food_orders
-------------------------------------food_orders 테이블에서 상품준비시간과 배달시간의 합계 구하기
-SQL에서 계산의 편의를 위해 사용되는 함수
합계 : SUM(컬럼)
평균 : AVG(컬럼)
데이터 갯수 : COUNT(컬럼)
*모든 데이터 갯수를 구할때 컬럼명 대신 1 또는 * 사용가능
몇개의 값을 가지고 있는지 구할 때 : DISTINCT
최솟값 : MIN(컬럼)
최댓값 : MAX(컬럼)
※합계와 평균 예시
select sum(food_preparation_time) total_food_preparation_time,
avg(delivery_time) avg_food_preparation_time,
from food_orders
--------------------------------food_orders 테이블에서 상품준비시간의 합계와 배달시간의 평균 구하기
※데이터 갯수와 값의 갯수 구하기 예시
select count(1) count_of_orders,
count(distinct customer_id) count_of_customers
from food_orders
--------------------------------food_orders 테이블에서 주문 건수와 주문한 고객 수 구하기
※데이터의 최솟값, 최댓값 예시
select max(price) max_price,
min(price) min_price
from food_orders
--------------------------------food_orders 테이블에서 주문가격의 최댓값, 최솟값 구하기
Query를 적기 전에 흐름 정리
1. 어떤 테이블에서 어떤 데이터를 뽑을 것인가
2. 어떤 컬럼을 이용할 것인가
3. 어떤 조건을 지정해야 하는가
4. 어떤 함수(수식)을 이용해야 하는가
범주별 연산하기
GROUP BY
-종류별로의 평균을 구하기 위해 Where 절을 사용해서 수십개의 쿼리를 작성하는 것은 비효율적이다.
따라서, Group by를 사용하여 여러개의 쿼리 없이 카테고리를 지정하여 수식함수로 연산을 한다.
select 카테고리컬럼(원하는컬럼),
수식함수(계산할 컬럼)
from 테이블
group by 카테고리컬럼(원하는 컬럼)
※예시
select cuisine_type,
sum(price) sum_of_price
from food_orders
group by cuisine_type
--------------------------------food_orders 테이블에서 음식 종류별 주문 합계 구하기
Query(쿼리) 결과를 정렬하기
ORDER BY
-Query의 결과가 항상 동일한 순서로 출력되진 않음.
-SQL 결과를 원하는 값 기준으로, 오름차순 또는 내림차순으로 정렬.
-오름차순 : 숫자가 점점 커지는 순서
-내림차순 : 숫자가 점점 작아지는 순서
select 카테고리컬럼(원하는컬럼),
수식함수(계산할 컬럼)
from 테이블
group by 카테고리컬럼(원하는컬럼)
order by 정렬을 원하는 컬럼(카테고리컬럼 또는 수식함수(계산컬럼) 둘 다 가능), 오름차순 또는 내림차순
-정렬의 종류
종류 | 구문 | 예시 |
오름차순 | 생략 | order by sum(price) |
내림차순 | desc | order by sum(price) desc |
※예시
select cuisine_type,
sum(price) sum_of_price
from food_orders
group by cuisine_type
order by sum(price) desc
--------------------------------food_orders 테이블에서 음식 종류별 주문 합계 구해서 내림차순으로 정렬
*SQL 작성하고 실행하는 단축키 Ctrl+enter
아니면 옆에 재생모양 버튼(▶) 누르기
*SQL 작성할 때 순서
: 꼭 모든 구조를 써야하는 건 아니지만 쓰게 된다면 이런 순서로 사용해야함
select
from
where
group by
order by
'내배캠 > sql' 카테고리의 다른 글
[내일배움캠프/사전캠프] SQL 강의 5주차 (1) | 2024.09.23 |
---|---|
[내일배움캠프/사전캠프] SQL 강의 4주차 (3) | 2024.09.20 |
[내일배움캠프/사전캠프] SQL 강의 3주차 (1) | 2024.09.19 |
[내일배움캠프/사전캠프] SQL 강의 1주차 (1) | 2024.09.12 |