CTE 응용 (BDA학회 SQL 문법 기초 연습반)

2024. 11. 10. 19:07 · 대외활동 및 인턴/빅데이터 분석 학회 BDA

 

여러 테이블을 수정하고, 조인할 때 CTE를 사용하느냐 마냐에 따라 쿼리 길이도 달라지고, 효율성도 많이 달라진다. 그래서 효율적인 쿼리를 짤려면 CTE를 사용할 줄 알아야 한다. 


요구조건 1. 
고객들의 월별 주문 횟수를 계산해서 특정 월에 고객의 활동 정보들을 요약해서 출력해 보자!

## 아웃풋 요구조건 : 고객 번호, 고객 이름, 구매 연도, 구매 월, 월별 주문 수 
##                 001       A      2003     03       5

 

요구조건 1-1. 
customer테이블과 order테이블 join으로 연결하기

select 
    c.customerNumber,
    c.customerName,
    o.orderNumber,
    o.orderdate    
from customers c
## 각 customers테이블과 orders테이블의 customernumber는 같으니까 두 테이블을 조인할 때 맞춰서 join하라
join 
    orders o 
on c.customernumber = o.customerNumber;

 

요구조건 1-2. 
group by 이용해서 연도별, 월별 주문수 집계가 필요하다

select 
    c.customerNumber,
    c.customerName,
    
    -- o.orderDate에서 Year, Month 추출하기 
    Year(o.orderDate) as orderYear,
    Month(o.orderDate) as orderMonth,
    
    -- ordernumber 갯수 세기 
    count(o.orderNumber) as monthlyordercount
from customers c
join 
    orders o 
on c.customernumber = o.customerNumber

-- 특정 기준에 따라 데이터 행들을 묶는 것 
group by
    c.customerName,
    c.customerNumber,
    orderYear, ## Year(o.orderDate)
    orderMonth ## Month(o.orderDate)
    
-- 순서 정렬로, 쿼리 구성에는 큰 의미가 없다.
order by 
    c.customerNumber,
    orderYear;

요구조건 2.
2003년에 주문하고 2004년에는 주문하지 않은 고객을 분석하여서 해당 고객의 리스트를 추출하고 살펴보자!

select 
	c.customerName,
    c.customerNumber,
    Year(o.orderDate) as orderYear,
    count(o.orderNumber) as monthlyordercount
from customers c
join 
	orders o 
on c.customerNumber = o.customerNumber
where 
	Year(o.orderDate) != 2004
group by
	c.customerName,
	c.customerNumber,
	Year(o.orderDate);

대학교 중간고사로 인해 한달 가량 휴회기간을 가졌는데 정말 한달이 길면 긴 시간인데... 그동안 농땡이도 피우고, 너무 바빠서 SQL 공부할 시간이 없었다... 그래서 앞으로는 좀 더 바쁜 삶을 살아야하지 않을까 싶다..

 

📍필수 키워드 : BDA학회, 빅데이터 분석 학회, 대학생 학회, 데이터 분석

728x90

'대외활동 및 인턴 > 빅데이터 분석 학회 BDA' 카테고리의 다른 글

피벗 테이블과 코호트 분석 (BDA학회 SQL 문법 기초 연습반)  (0) 2024.11.14
metrics : 연도와 월별 성과 지표 및 직원별 성과 분석 SQL (BDA학회 SQL 문법 기초 연습반)  (0) 2024.11.13
bda wave  (10) 2024.11.09
[강연] 비전공자를 위한 커리어 패스 강연 : 데이터 분석가란?  (9) 2024.11.08
쿼리 구조화, CTE 문법 (BDA학회 SQL 문법 기초 연습반)  (2) 2024.10.13
'대외활동 및 인턴/빅데이터 분석 학회 BDA' 카테고리의 다른 글
  • 피벗 테이블과 코호트 분석 (BDA학회 SQL 문법 기초 연습반)
  • metrics : 연도와 월별 성과 지표 및 직원별 성과 분석 SQL (BDA학회 SQL 문법 기초 연습반)
  • bda wave
  • [강연] 비전공자를 위한 커리어 패스 강연 : 데이터 분석가란?
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    대외활동
    파이썬
    취업
    주석
    자료형
    리액트
    jsx
    빅데이터분석
    AI역량검사
    react
    오라클SQL
    input
    Py
    파이썬{}
    javascript
    티스토리챌린지
    취업준비
    python
    print(f"")
    dbms
    대학생학회
    Oracle
    자바스크립트
    js
    파이썬 챗봇 만들기
    sql
    이름나이
    importturtle
    BDA학회
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
CTE 응용 (BDA학회 SQL 문법 기초 연습반)
상단으로

티스토리툴바