-- 11월 매체별 광고비 구하기
--Where 전체 테이블에서 필터
--Having 집계된 결과에서 필터
-- 날짜&매체별로 cost 집계, 500000 초과하는 것만 출력
-- 날짜별 오름차순, cost 세부정렬 원할 시 : 중요한 거 먼저쓰기 ! (날짜별)
-- limit 3, 위의 3행만 출력
--11월 기준, 광고비가 가장 많이 나온 날짜 하루
*날짜별로 정렬 X,
PK : Primary Key - 데이터베이스는 각 데이터를 고유하게 식별하는 용도로 기본 키를 사용
FK : Foreign Key - 다른 테이블에 있는 기본 키를 참조해서 사용할 때 사용하는 키 값
데이터베이스는 수많은 테이블이 있음.
이 테이블은 각각 관계를 가짐.
이 관계를 ERD 라고 함.
id값은 PK와 FK로 구성.
order는 유저가 어떤 상품을 샀는지를 포커싱해서 만들어놓은 테이블.
order는 고유 식별값. id가 있어야 구별할 수 있음.
PK : 이 테이블의 고유한 id값 (주민등록번호같은 것) order_id 주문번호
FK : 여러번 찍힐 수 있음. user_id, product_id. 고유값이 아님.
각각의 FK들은 본국으로 들어가면 PK가 됨. (user테이블, product 테이블)
메타테이블 : 해당하는 테이블의 정보가 들어가있는 테이블. 정보테이블. = 메타정보 담긴 테이블
상품 메타 테이블 어디있어요? --> 상품정보가 담긴 테이블은 어디있나요?
'테이블'은 구조이름.
Case When 조건분기
- 조건문 역할을 함- 각 조건으로 순차적으로 처리함- When은 계속 늘려 나갈 수 있음.
case when "조건1" then "결과1"
when "조건2" then "결과2"
else "나머지결과" end as 컬럼명
-- case when 으로 조건을 줄 때는 > group by 뒤에 숫자를 쓸 수 있음. (case~when 덩어리 대신)
*계산함수 sum, avg, min, max 아닌 것은 다 group by로 묶어줘야 함. ex) case when~

-- sum (case when utm_source = 'kakao' then cost end) as sum_kakao_cost
--> utm_source가 kakao인 cost만 sum 해주세요.
실무★ ★ ★ ★ ★ 특정 조건만 sum할거야.
피벗테이블 돌리고 싶을 때. 날짜별로 펼치고 싶을 때.
더보기
SELECT cost_date,
sum (case when utm_source = 'kakao' then cost end) as sum_kakao_cost,
sum (case when utm_source = 'naver' then cost end) as sum_naver_cost,
sum (case when utm_source = 'google' then cost end) as sum_google_cost
FROM `sessac-3-412710.example_sessac.ads_cost`
group by 1
Inner Join, Left Join 가장 많이 씀.
'[IT 서비스기획 공부]' 카테고리의 다른 글
UX리서치(2)_딥다이빙 Q&A, 대상자 선정하기 (2) | 2024.02.06 |
---|---|
UX 리서치(1)_240225 (1) | 2024.02.05 |
SQL 예제풀이 (1) | 2024.01.30 |
SQL 예제풀이 (0) | 2024.01.30 |
SQL 실무 스터디 (1) | 2024.01.29 |