내일배움캠프(데이터 분석 부트캠프 1기)/TIL & WIL
<TIL> 2023-12-05
배또가또
2023. 12. 5. 20:32
내일배움캠프 사전학습캠프 둘째 날
스파르타코딩클럽 / 엑셀보다 쉽고 빠른 SQL 2주차 수강완료
오늘 배운 것 간단하게 정리
SELECT문에서 사용되는 집계함수, GROUP BY, ORDER BY를 배우면서
쿼리문을 작성하기 전 해야하는 생각의 플로우를 배움
집계 함수
ex SELECT 함수(컬럼명) FROM 테이블;
함수 | 설명 | 예시 |
MIN() | 최솟값 | MIN(컬럼명) : 해당 컬럼 데이터 중 가장 작은 값 |
MAX() | 최댓값 | MAX(컬럼명) : 해당 컬럼 데이터 중 가장 큰 값 |
SUM() | 합계 | SUM(컬럼명) : 해당 컬럼의 합계 |
AVG() | 평균 | AVG(컬럼명) : 해당 컬럼의 평균 |
COUNT() | 행의 개수 | COUNT(*) : 전체 행 개수(NULL 포함) COUNT(컬럼명) : 특정 컬럼의 행 개수(NULL 제외) COUNT(DISTINT 컬럼명) : 중복을 제외한 행의 개수(NULL 제외) |
STDDEV() | 표준편차 | STDDEV(컬럼명) : 해당 컬럼의 표준편차 |
VARIANCE() | 분산 | VARIANCE(컬럼명) : 해당 컬럼의 분산 |
GROUP BY : 데이터를 조회, 집계할 때 특정한 컬럼의 데이터 값을 집단(범주)으로 하여 집계함
HAVING : GROUP BY 절에 조건이 필요하다면 HAVING절에 조건을 입력
ORDER BY : 특정한 컬럼을 기준으로 오름차순, 내림차순 정렬함(내림차순 시에는 컬럼명 뒤에 DESC를 붙임
정렬 기준을 여러 개 설정하는 것 또한 가능
쿼리문을 생각하는 플로우
1. 어떠한 테이블에서 데이터를 조회할 것인가
2. 어떠한 컬럼을 이용할 것인가
3. 어떠한 조건을 지정해야하는가
4. 어떠한 함수(수식)을 이용해야하는가
ex) 음식의 종류별로 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고,
조회된 데이터를 가장 낮은 주문 금액 순으로 내림차순 정렬하시오.
1. 테이블 : food_orders(음식 주문 테이블)
2. 컬럼 : 음식의 종류, 주문 금액
3. 조건 : 음식 종류별로, 최대, 최저 주문금액 / 최저 주문금액 내림차순 정렬
4. 이용할 함수 및 구문 : GROUP BY, MAX, MIN, ORDER BY
SELECT cuisine_type,
MAX(price) as "최대 주문금액"
MIN(price) as "최소 주문금액"
FROM food_orders
GROUP BY cuisine_type
ORDER BY MIN(price) DESC;