2024.06.20
주말까지 기초 강의는 꼭 다 들어버리겠어요...
[이론]
✳️ 계산
• 숫자 연산 종류
연산자 설명 + 더하기 - 빼기 * 곱하기 / 나누기
• 합계와 평균
- 합계 : SUM(컬럼)
- 평균 : AVG(컬럼)
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
[고찰]
<개인적인 감상>
전체적인 기본 구조를 다지고 계산법을 배우며 엑셀과 유사하다고 느꼈다. 개인적으로 실험했었던 데이터들도 정리를 다시 해본다면 유용하게 쓰일 것 같다. 좀 더 다양한 계산법들이 있다면 얼른 배워보고 싶다!
<강의 내용과 실전 연습 회고>
• 이용할 수 있는 기본틀이 갖춰지며 명령문장 또한 길어지는 걸 보고 잘 파악해서 쿼리를 잘 작성해야 함을 느낌
• 중간중간 오류 코드를 파악하며 오류해결을 해냄
• 근데 선생님께서 컬럼의 대문자를 꼭 유의해서 쓰라고 하셨었는데.. 나는 소문자로 써도 그냥 잘 나와서 왜 유의하라고 하셨는지 궁금해짐...
'📒 Today I Learn > 🐬 SQL' 카테고리의 다른 글
[SQL] REGEXP, 날짜 추출 함수, 올림/반올림/내림/버림 (0) | 2024.06.26 |
---|---|
[SQL 기초] 5주차 강의 (0) | 2024.06.24 |
[SQL 기초] 4주차 강의 (0) | 2024.06.24 |
[SQL 기초] 3주차 강의 (1) | 2024.06.22 |
[SQL 기초] 1주차 강의 (0) | 2024.06.21 |