※ select절 주의사항
- 컬럼명을 새로 명명할 경우, 띄어쓰기, 숫자로 시작하는 단어, 특수문자가 포함된 단어는 올 수 없다.
- 단, 컬럼명을 큰따옴표(" ")로 감싸준 경우에는 모든 값이 다 가능하다. ex) "2021_gmv", "#mm"
※ where절 문법 총정리 및 주의사항
긍정 | 부정 | 의미 |
= | != / <> | 일치 / 불일치 조건 |
>, >=, <, <= | 대소 조건(보통 숫자와 많이 쓰임) | |
between A and B | not between A and B | 범위 조건(보통 숫자와 많이 쓰임) |
in(A,B,C) | not in(A,B,C) | 다수의 값 일치 / 불일치 조건 |
like '%A%' | not like '%A%' | 특정문자열 포함 / 불포함 조건 |
ilike '%A%' | not ilike '%A%' | 위와 동일, 영어인 경우 알파벳 대소문자 구분 안함 |
is null | is not null | null값 포함 / 제외조건 |
- and와 or를 함께 쓸때는, 반드시 ( )로 의미 단위끼리 묶는다!
ex) 외모가 준수하거나 성격이 좋으면서, 유머코드가 잘 통했으면 해.
→ (외모 준수 or 성격좋음) and 유머코드 잘맞음 O
→ 외모준수 or (성격 좋음 and 유머코드 잘맞음) X
※ group by절 주의사항
- select절에 등장한 컬럼이 group by에 모두 명시되지 않은 경우 (집계함수 제외)
select category, yyyy, sum(gmv) as gmv
from gmv_trend
group by category;
→ 에러
→ 집계함수 빼고는 모두 group by에 명시하자!
→ 집계함수 앞의 컬럼을 추가하거나 뺄때 group by절도 같이 수정해주는 것을 잊지 말자!
※ having절 주의사항
where | "집계 전" 데이터를 필터링 집계함수 쓸 수 X |
having | "집계 후" 데이터를 필터링 집계함수만 쓸 수 O |
※ 데이터 확인하기 (미리 파악하기)
1) 문자열(고정값)
- 카테고리
- 상품번호
- 매출발생위치 (지역, 플랫폼, 디바이스 등)
- 매출발생성격 (B2B / B2C, Large / Middle / Small)
- 날짜
2) 숫자열(변동값)
- 거래액 (gmv 등)
- 매출액 (sales, revenue 등)
- 영업이익 (profit 등)
- 매출원가 (cost, cogs 등)
- 판매수량 (quantity, unit_sold 등)
- 할인금액 (discount 등)
※ 어떤 데이터를 추출할 수 있을까?
● 데이터 탐색
- 2020년 동안, 월별 총매출액은? (1월,2월, ~ 12월 순으로 정렬)
- 2017년 ~ 2021년 동안 연간 매출액은? / 어느 해가 가장 크게 성장하였는가? / 웹과 모바일로 구분해서 살펴본다면?
- 2021년 카테고리별 매출액은? 가정 거래액이 큰 카테고리로 정렬한다면?
● 다른 Tool과 연계해서 심화분석
- 카테고리별 월 매출액을 추출하고, 2020년 2월부터 (코로나 발생시기) 그전에 비해 두드러지게 매출이 증가한 카테고리는 어디인지, 그 반대는 어디인지 확인해보자.
- 연간 매출액 성장률이 가장 가파른 카테고리를 확인해보자. 반대로 성장률이 마이너스이거나 미비한 카테고리를 확인해보자.
'SQL' 카테고리의 다른 글
SQL Join의 유형 / 주의사항 (0) | 2023.03.02 |
---|---|
SQL 실습 ② 주문 데이터 분석 (join 이용) (0) | 2023.03.02 |
SQL 기본 문법 (0) | 2023.02.28 |
SQL 실습 ① 거래액 데이터 분석 (0) | 2023.02.28 |
'SQL'이란? (0) | 2023.02.27 |