본문 바로가기
데이터분석

[SQL 기본] 예제_마케팅 채널 최적화

by 규랃 2024. 2. 7.
728x90
반응형

SQL 기본 문법을 모두 학습한 기념으로 기본 문법에 대한 예제를 풀어보며 이해를 단단히 다져보는 시간을 갖고자 합니다. 비전공자의 입장에서 일을 하다 보면 마주칠만한 케이스들을 예제로 풀어보도록 하겠습니다. 다소 난이도가 높다고 느껴질 수 있지만 공부했던 순서대로 차근차근 풀다 보면 충분히 해결할 수 있습니다.

 

🚨요청사항
새해를 맞아 마케팅 채널 최적화를 위해 마케팅 소재 점검이 필요합니다. 지난 4분기 집행한 캠페인의 채널이름과 소재이름을 모두 출력해 주세요. 마케팅 성과 관련 테이블 정보는 아래와 같습니다.
 
마케팅 성과 테이블 명세서

요청사항 난이도도 높아졌고 생소한 테이블을 접해 어려워 보입니다. 그럴 때일수록 우리가 배운대로 차근차근 요청사항을 잘 번역해 보면 금새 해결할 수 있으니 먼저 요청사항을 잘 번역해봅시다.

 

  • SELECT 절에는 우리가 얻고자하는 값을 정의해야하고 요청사항에 맞게 정의되어야하는 값은 다음과 같습니다.
    • 값: 캠페인, 채널이름, 소재이름
  • FROM 절에는 해당 데이터가 담겨진 테이블을 정의해야하고 요청사항에 맞게 정의되어야하는 값은 테이블 명세서에 명시되어 있습니다.
    • 테이블: marketing_performance
  • WHERE 절에는 우리가 원하는 데이터를 추출하기 위한 필터링 조건을 정의해야하고 요청사항에 맞게 정의되어야하는 값은 다음과 같습니다.
    • 날짜 조건: 지난 4분기 집행

변역이 잘 된 것 같으니 이제 번역내용을 테이블 명세서에 대응되는 값들을 SQL 문법에 맞게 작성해주기만 하면 끝입니다. 

  • SELECT 캠페인, 채널이름, 소재이름
    • 이 값들이 테이블 명세서에 대응하는 컬럼을 찾아보면  campaign_id, channel_name, creative_name으로 이것을 SELECT 옆에 정의해주면 됩니다.
SELECT campaign_id, channel_name, creative_name

 

  • FROM의 경우 테이블 명세서가 있으니 간단히 해결되었습니다.
SELECT campaign_id, channel_name, creative_name
FROM marketing_performance

 

  • WHERE 지난 4분기 집행
    • 4분기에 집행했다는 사실을 확인할 수 잇는 집행날짜 컬럼인 date 컬럼을 활용해 필터링할 수 있습니다. 
    • 4분기를 명확하게 지칭하는 함수나 명령어가 있으면 좋겠지만 아쉽게도 없기 때문에 직접 날짜를 지정해 필터링을 해야합니다.
    • 4분기는 2023-10-01 ~ 2023-12-31  해당하며 지난번에 배운 구간 조건을 걸 수 있는 BETWEEN A AND B라는 명령어가 있으니 해당 명령어를 활용하여 BETWEEN '2023-10-01' AND '2023-12-31' 으로 작성하면 됩니다.
SELECT campaign_id, channel_name, creative_name
FROM marketing_performance
WHERE date BETWEEN '2023-10-01' AND '2023-12-31'

 

이번 글을 통해 실전에 들어와도 천천히 배운 대로 정리하다 보면 참 쉽게 번역할 수 있는 것을 알게 되었습니다. 그럼 다음 글에서는 좀 더 난이도를 높여 문제를 해결해 보는 시간을 가져보도록 하겠습니다. 

 

함께 성장해요.

728x90
반응형