[기억할 개념]
1. 전체 고객별 총 구매 수량&총 구매 금액
SQL JOINS 문법 - LEFT / LEFT OUTER JOIN의 차이점
○ LEFT JOIN: 동일한 컬럼으로 하나로 합쳐지고, 왼쪽 A의 모든 데이터를 포함하나, B의 데이터는 Null로 표시
○ LEFT OUTER JOIN: A와 B 테이블 공통 데이터 가져오기 (=INNER JOIN)
*ex)
SELECT *
from A left outer join B on A.id=B.id
where B.id is not null
SELECT A.컬럼 '컬럼지정명'
IFNULL (A.컬럼, '-') '컬럼지정명'
IFNULL(SUM(B.수량 관련 컬럼명), 0) '컬럼지정명'
IFNULL(SUM(B.수량 관련 컬럼명*C.가격 관련 컬럼명), 0) '컬럼지정명'
FROM 테이블명
LEFT OUTER JOIN Orders 'A' ON C.Customer_id=A.Customer_id
LEFT OUTER JOIN OrderDetails 'B' ON C.Customer_id=A.Customer_id
LEFT OUTER JOIN Products 'C' ON A.Product_id=C.Product_id
GROUP BY C.이름 관련 컬럼명
ORDER BY SUM(B.수량 관련 컬럼명*C.가격 관련 컬럼명), DESC
*위 코드 자료 출처: https://brunch.co.kr/@phapark/20
[개인과제]
- 중급 - 6번
> 내가 쓴 과제 제출 코드
: 주문 금액 합계만 구하고, 그 다음, 매출액 순위를 구하지 못함
심지어 튜터님 피드백 받은 코드임
여기서 rank 함수 넣으면 실행 안됨
select order_id, Category, sum(Amount)
from order_details
group by 1, 2
- 고급 - 7번
> 내가 쓴 과제 제출 코드
: 3개 테이블을 합치는 문제
각 주별 주문 총 금액 & 이익만 계산함 그 다음부터 손도 못댐
select lo.order_id,
lo.State,
sum(od.Amount),
sum(od.Profit)
from list_of_orders lo inner join order_details od on lo.order_id=od.order_id
group by 1,2
order by lo.State
- 고급 - 8번
> 내가 쓴 과제 제출 코드
: 2개의 테이블을 합치는 문제
고객별 총 구매액, 총 주문 횟수는 구했으나, 주문 간 평균 일수? 감이 안 잡힘
LTV 계산은 사실 엑셀로 돌리면 끝나는데, 코드로 돌리자니 혼돈의 도가니임
select a.order_id as '주문번호',
a.order_date as '주문일자',
a.CustomerName as '고객명',
b.Profit as '수익',
sum(b.Amount) as '합계금액',
sum(b.Quantity) as '합계수량'
from list_of_orders a left join order_details b on a.order_id=b.order_id
group by a.CustomerName
order by sum(b.Amount) desc
[SQL 특강]
- 스파르타코딩클럽: 바로가기
SQL 처음부터 끝까지 | Built with Notion
✔️ GIT에서 코드 및 실습 데이터를 확인하실수 있습니다.
teamsparta.notion.site
- 사실 초기 함수부터 설명해 주셔서 누워서 잠(ㅋㅋㅋㅋㅋㅋㅋ)
- 차라리 중급~고급 함수를 맛보기로 설명해주시고, 데이터분석가 직무?나 위의 그림을 좀 더 상세히 설명주셨더라면 흐름이 좋았을 듯
- 그래도 튜터님이 본인 스스로 검은머리 외국인이라고 하셨는데,
현업 팀장님으로써 많은 걸 알려주려고 하다 보니 열심히 하신 것 같아 보기 좋았음
[배운 점]
- 생각보다 중급 문제에서 많이 막혔다. 특히 6번부터 쿼리를 초반 부분만 쓸 수 있어서 속상했다.
- SQL이 그나마 코딩 문법 중에 쉬운 편이라고 하는데, 나는 역시 이쪽으로는 아닌가..?
살짝 자신감이 떨어지는 오늘 하루 - 개인과제 6~8번은 초반 값만 구하고, 그 다음부터 손을 대지 못해서 내일 해설 강의를 잘 들어야 할 것 같다.
- 개인과제에 힘을 쏟았더니 몹시 피곤하다. 개발자들은 밤을 샌다는데 어떻게 하지..?
- 마케터가 SQL 기초를 알고 엔지니어나 개발자들을 덜 귀찮게 한다는 점에서 나 자신을 칭찬해주고 대견해하자!! 아자 아자!! 마케팅은 내가 짱이다!
- 그리고 데이터를 직접 추출해나가니 Insight를 얻을 수 있는 부분이 매우 많다.
'SQL' 카테고리의 다른 글
1/15 - SQL 기초 Project & 마케팅 Side Project (0) | 2024.01.15 |
---|---|
1/3 - SQL 심화학습 6일차 (0) | 2024.01.03 |
12/29 - SQL 심화학습 4일차 & 개인과제 좌충우돌 MySQL 설치기 (2) | 2023.12.29 |
12/28 - SQL 심화학습 3일차 & 데이터 관련 자격증 정보 및 일정 & 국민취업제도 간략 설명 (2) | 2023.12.28 |
12/27 - SQL 심화학습 2일차 (2) | 2023.12.27 |