Digital Tool/SQL
마케터를 위한 SQL 구문 기초 #1
쥬니어헬퍼
2023. 2. 4. 22:46
반응형
테이블 형태 개념
컬럼1 | 컬럼2 | 컬럼3 |
고유 키 값1 | 값 | 값 |
고유 키 값2 | 값 | 값 |
기초 구문 #1
- SELECT : 어떤 컬럼을 출력할 것인지 선택
- FROM : 어떤 테이블에서 데이터를 가져올 것인지 선택
- WHERE: 어느 조건에 해당하는 데이터를 가져올 것인지 선택
(예시1-1) 구매 데이터
유저 ID | 구매금액 | 구매일시 |
유저1 | 30,000 | 2022-12-04 |
유저2 | 53,000 | 2023-01-25 |
유저3 | 2,000 | 2023-02-25 |
유저3 | 45,000 | 2023-01-25 |
유저3 | 29,000 | 2022-06-25 |
(예시1-2) 쿼리
Q. 2023-02-04 일이 지난 이후 구매한 유저의 아이디와, 구매금액을 추출하시오
Select 유저ID, 구매금액
From 구매데이터
Where 구매일시 > date'2023-02-04'
A : 추출 값 = 유저3, 2000
기초 구문 #2
- SUM : 합산한 값
(case1) 2022-12-31 지난 이후 구매한 유저를 추출하시오
Select 유저ID, 구매금액
From 구매데이터
결과 : 유저 별로 합산한 금액이 아닌, 구매 발생한 이력이 여러번 찍힘
유저ID | 구매금액 |
유저1 | 30,000 |
유저2 | 53,000 |
유저3 | 2,000 |
유저3 | 45,000 |
유저3 | 29,000 |
(Case2-1)
Select 유저ID, Sum(구매금액)
From 구매데이터
group by 유저ID
즉, 유저의 구매금액의 합산액을 알고 싶다면, SUM을 사용하면 된다. 다만, sum을 사용할 시에 어떤 컬럼값을 기준으로 sum을 하게 되느냐에 따라 결과값이 달라지기 때문에 group by 를 꼭 함께 사용해야한다.
결과
유저ID | 구매금액 |
유저1 | 30,000 |
유저2 | 53,000 |
유저3 | 76,000 |
만약 group by 구매일시 라면 이런 값이 나오게 된다
Select 구매일시,
Sum(구매금액) as 구매금액
From 구매데이터
Where 구매일시 > date'2022-12-31'
group by 구매일시
구매일시 | 구매금액 |
2023-01-25 | 98,000 |
2023-02-25 | 2,000 |
기초 구문 #3
- Distinct : 고유값 = 중복제거
상품데이터
상품 ID | 카테고리 | 상품명 | 금액 |
상품1 | 립스틱 | 상품명1 | 20,000 |
상품2 | 아이라인 | 상품명2 | 10,000 |
상품3 | 블러셔 | 상품명3 | 15,000 |
상품4 | 아이라인 | 상품명 4 | 11,000 |
SELECT distinct 카테고리
From 상품데이터
- 결과값 : 립스틱, 아이라인, 블러셔
distinct 없이 추출했다면, 립스틱,아이라인,블러셔,아이라인 으로 결과값이 반환되었을 것이다.
기초 구문 #4 LIKE (WHERE 구문응용)
Like 는 특정구문만 포함한 모든 값을 반환하는데 쓰이는 함수이다
Select 상품명
From 상품데이터
Where 상품명 like '%레드%'
반응형