본문 바로가기

TIL

[231204] SQL: 기본연산/함수, GROUP BY, ORDER BY

* 수강 강의명: 엑셀보다 쉽고 빠른 SQL - 2주차 

 [요약] 

1. 기본 연산 및 함수 종류

- 엑셀과 유사하게 연산식 및 함수 사용 가능.

연산자 함수
기호 설명 함수 설명 비고
+ 더하기 SUM(칼럼) 합계  
- 빼기 AVG(칼럼) 평균  
* 곱하기 COUNT(칼럼) 개수 칼럼 대신 * 혹은 1 사용 가능
/ 나누기 MIN(칼럼) 최소값  
    MAX(칼럼) 최대값  
    DISTINCT 중복 제외  

 

2. GROUP BY

- 원하는 단위(범주)로 나누는 명령어. 카테고리별로 연산을 가능하게 함.

- 기본 구조 

  select cuisine_type,
              sum(price) sum_of_price
    from food_orders
   group by cuisine_type

 

3. ORDER BY 절

- 카테고리 내 칼럼을 오름차순 혹은 내림차순으로 정렬하는 명령어. 

종류 구문  예시
오름차순 asc (생략 가능) 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

 

4. SQL 구조 마스터

- 기본 구조: select > from > where > group by > order by 

- Query 적기 전에 정리해두어야 할 흐름

 ① 어떤 테이블에서 데이터를 뽑을 것인가

 ② 어떤 컬럼을 이용할 것인가 

 ③ 어떤 조건을 지정해야 하는가 

 ④ 어떤 함수(수식) 을 이용해야 하는가

 

[정리]

2주차는 기본 내용이라 쿼리 작성 시 큰 이슈 없음 

 

1) 어떤 문제가 있었나 

2) 내가 시도해본 건 무엇인가

3) 어떻게 해결했나 

4) 무엇을 새롭게 알았나

 - count 에서 전체 개수를 구할 때 1을 기입하여도 * 과 동일한 결과값 도출 가능

- group by에 칼럼 정보를 직접 적지 않아도, select에 기입한 칼럼 순서에 맞춰 1, 2, 3 등 숫자를 간단히 기입 가능 

  (ex. select cuisine_type, sum(price) sum_of_price 
            from food_orders
            group by 1 )