01. 개요: 왜 마케터가 SQL을 배워야 하는가?
SQL(Structured Query Language)은 데이터베이스와 소통하기 위한 체계적인 언어다.
마케터는 데이터의 생성(Create)이나 삭제(Delete)보다는, 필요한 데이터를 불러오는 조회(Read) 기능을 주로 사용한다.
마케터에게 SQL이 필요한 이유
- GA4와 빅쿼리의 연동: 기본 콘솔 리포트에서 확인할 수 없는 세밀한 원천 데이터를 분석하기 위해 빅쿼리 활용이 필수적이다.
- 직접적인 데이터 추출: 이벤트 발송 대상자(이메일, 푸시 알림) 리스트업을 개발팀 요청 없이 마케터가 직접 수행함으로써 업무 속도를 높인다.
- 성과 분석의 고도화: 여러 채널의 데이터를 병합하여 입체적인 마케팅 성과를 파악할 수 있다.
02. 실습 환경 구축: 구글 빅쿼리(BigQuery)

별도의 설치 없이 브라우저에서 바로 사용 가능한 '빅쿼리 샌드박스'를 활용한다.
구글 시트 등 타 도구와의 호환성이 뛰어나 마케터가 접근하기 가장 좋은 환경이다.
데이터 구축 순서:
- 구글 검색창에 '빅쿼리 샌드박스' 검색 후 이동한다.
- 새 프로젝트를 생성하고, 데이터세트(Dataset)를 만든다.
- 외부 소스(Google Sheets)를 연결하여 테이블을 생성한다. 이때 스키마는 '자동 감지'를 선택하고, 고급 옵션에서 '건너뛸 헤더 행'을 1로 설정한다.
03. 핵심 문법: SELECT, FROM, WHERE
데이터의 위치를 지정하고 원하는 조건만 필터링하는 단계다.
- SELECT / FROM: "어느 테이블에서 어떤 컬럼을 가져올 것인가?"
- WHERE: "어떤 조건에 맞는 데이터만 보여줄 것인가?"
SQL
/* 예시: 구매 금액이 10만 원 이상인 고객의 이름과 이메일 추출 */
SELECT user_name, email
FROM `my_project.marketing_data.order_info`
WHERE total_purchase >= 100000
04. 데이터 정렬과 제한: ORDER BY, LIMIT

추출된 데이터의 순서를 정하거나 필요한 양만큼만 끊어서 확인한다.
SQL
/* 예시: 포인트 보유량이 많은 순서대로 상위 50명만 확인 */
SELECT user_name, user_point
FROM `my_project.marketing_data.user_info`
ORDER BY user_point DESC
LIMIT 50
- 쿼리 실행 후 하단에 나타나는 결과 창을 통해 필터링된 데이터를 실시간으로 확인할 수 있다.
05. 데이터 집계와 그룹화: GROUP BY

특정 기준에 따라 데이터를 묶어서 통계를 산출한다. 마케팅 성과 측정의 핵심이다.
SQL
/* 예시: 유입 채널별 가입자 수와 평균 구매 금액 계산 */
SELECT utm_source, COUNT(user_id) as user_cnt, AVG(order_price) as avg_price
FROM `my_project.marketing_data.sales_log`
GROUP BY utm_source
ORDER BY user_cnt DESC
- 채널별(FB, Google, IG 등)로 가입자 수가 정렬되어 마케팅 효율을 한눈에 비교할 수 있다.
06. 테이블 합치기: JOIN

서로 다른 테이블에 흩어져 있는 정보를 하나로 합친다. 예를 들어, '주문 테이블'에는 이름이 없고 '회원 테이블'에는 주문 내역이 없을 때 사용한다.
SQL
/* 예시: VIP 등급 회원들의 최근 주문 상품명 조회 */
SELECT T1.user_name, T1.membership, T2.product_name
FROM `my_project.user_table` as T1
JOIN `my_project.order_table` as T2
ON T1.user_id = T2.user_id
WHERE T1.membership = 'VIP'
LEFT JOIN 활용법: 미구매자 대상 프로모션을 위해 '회원 테이블'에는 있지만 '주문 테이블'에는 없는 유저를 찾을 때 유용하다.
SQL
/* 예시: 가입 후 아직 구매 이력이 없는 유저 리스트 */
SELECT T1.user_name, T1.email
FROM `my_project.user_table` as T1
LEFT JOIN `my_project.order_table` as T2
ON T1.user_id = T2.user_id
WHERE T2.order_id IS NULL
[이미지 4: 두 테이블의 JOIN 개념도]
- 공통 분모인 user_id를 기준으로 서로 다른 정보를 결합하여 완전한 데이터셋을 만드는 과정이다.
오늘의 인사이트
SQL은 마케터의 기획에 데이터를 입혀주는 강력한 도구다. 복잡한 수식보다는 데이터의 구조를 이해하고 필요한 조건을 논리적으로 구성하는 연습이 중요하다. 지금 바로 빅쿼리에서 첫 쿼리를 실행해 보길 권장한다.
'Marketing Theory — 마케팅 개념 정리 > 마케팅 개념' 카테고리의 다른 글
| 복잡한 GA4 리포트, AI로 10초 만에 해석하는 법 (0) | 2026.04.09 |
|---|---|
| 사업을 이해하는 마케터의 필수 지식: B2B SaaS 주요 개념과 성공 지표 (0) | 2026.04.08 |
| 퍼포먼스 마케팅 입문자를 위한 필수 용어 30개 총정리 (0) | 2026.04.06 |
| 퍼포먼스 마케팅 입문자를 위한 광고 구조와 미디어 믹스 전략 가이드 (0) | 2026.04.03 |
| 퍼포먼스 마케팅 효율 200% 끌어올리는 생성형 AI 광고 소재 제작 (0) | 2026.04.02 |