상세 컨텐츠
본문
퍼포먼스 마케터
- 온라인, 디지털 광고를 집행하여 만들어진 데이터를
분석해 성공적인 마케팅 결과를 도출해내는 것이 목적
퍼포먼스 마케터에게 데이터란
- 데이터를 다루는 것은 퍼포먼스 마케터의 역할
특정 광고매체를 통해 얼마나 유입되는지, 구입하는지 등
데이터를 분석해 광고가 잘 운영되고 있는지,
개선점, 구매 포인트를 파악
광고성과를 개선시켜야하는것이 퍼포먼스 마케터의 일
SQL의 기초개념
DBMS (Database Management System)
많은 데이터에 효율적으로 접근할 수 있도록
가공하고 저장된 Database를 관리하는 시스템
RDBMS는 Relational Database를
관리하는 시스템으로 하나의 DB에 서로 관계가 있는 여러 데이터 테이블이 존재함.
퍼포먼스 마케팅을 통해 수집되는 데이터는
관계형 데이터 베이스로 관리(ex.매체&트레커데이터)
SQL이란?
사전적의미
- 구조적 정의어 (Structured Query Language)라고 하며 관계형 데이터 베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
퍼포먼스 마케터에게 SQL이란?
- 광고 집행 후 RDBMS에서 관리되는 각 매체, 트래커, CRM 등 수많은 데이터들이 RDBMS에서 관리되고 있고, 데이터를 분석하거나 조회하기위해 불러올 수 있는 언어
[ SQL의 언어 ]
1. 데이터 정의 언어 (DDL : Data Definition Language)
create, drop, alter 등 DB의 테이블을 만들고 없애고 바꾸는 등의 역할을 함
일반적으로 데이터 조직에서 관리하기 때문에 퍼포먼스 마케터가 사용할 일은 많이 없음
2. 데이터 조작 언어 (DML : Data Manipulation Language)
insert, update, delete, select 등 데이터베이스에 있는
테이블 내 데이터를 바꾸고 선택하는 등의 기능
퍼포먼스 마테터가 가장 많이 사용하게 됨
3. 데이터 제어 언어 (DCL : Data Control Language)
데이터의 액세스를 제어하기 위한 역할
이것또한 데이터 조직에서 관리하게 되기 때문에 퍼포먼스 마케터가 사용할 일은 많이 없음
[ SQL 기초 문법 ]
** SELECT : 가장 기초가 되는 데이터 선택 문법
SELECT * FROM 테이블 이름;
=> 해당 테이블 전체를 가져옴
* 은 전체를 의미
SELECT * FROM 테이블 이름 limit 5;
=> 해당 테이블 5행까지 가져옴 10행 하고싶으면 limit 10;
테이블이 어떻게 구성되었는지 확인하고 싶을때 유용
SELECT 열이름, 열이름 FROM 테이블 이름;
=> 해당 테이블의 해당 열만 가져옴, 열 수는 1개부터 여러개 모두 가능
** DISTINCT : 중복 제거된 값을 선택함
SELECT 뒤에 DISTINCT 를 넣음
SELECT DISTINCT 열 이름, 열 이름, FROM 테이블 이름;
** ODER BY : 뽑은 데이터를 정렬을 해주고 싶을 때 사용
SELECT * FROM 테이블 이름 ORDER BY 열이름;
해당 테이블 열이름으로 정렬하여 가져오기
ASC(기본값)는 오름차순, DESC는 내림차순
ASC는 기본값으로 정해져서 오름차순으로 보여지기 때문에 보통은 DESC를 쓰게 됨
SELECT * FROM 테이블 이름 ORDER BY 열이름(ASC, DESC);
** 2개 이상 열로 정렬하고 싶을 경우
ORDER BY 열이름, 열이름 으로 사용하면 첫 번째 열로 정렬 후 정렬된 것 내에서 두 번째 열로 정렬
ORDER BY 열이름, 열이름 DESC와 같이 사용 가능함
EX. SELECT * FROM 테이블이름 ORDER BY 열이름 DESC, 열이름 ASC;
** WHERE : 엑셀에서 필터 걸듯이 필터를 걸 수 있는 역할
해당 테이블에서 해당 열에 비교값에 해당하는 행만 가져옴
SELECT * FROM 테이블 이름 WHERE 열이름 = 원하는 값;
SELECT * FROM 테이블 이름 WHERE 열이름 = 비교값 AND 열이름 > 비교값
>> AND, OR 등 논리 조건 삽입 가능
EX. SELECT * FROM orders WHERE EmployeeID = 5 OR ShipperID = 3;
=>orders에서 employeeID가 5 이면서 shipperID가 3인 데이터 불러오기
SELECT * FROM orders WHERE EmployeeID <> 5;
=> orders에서 employeeID가 5가 아닌 데이터 불러오기
** JOIN
두개의 테이블을 열을 기준으로 합치는 명령어
SLECT 테이블 이름.열이름, 테이블 이름.열이름 FROM 기준 테이블 이름 INNER JOIN 조인할 테이블 이름 ON 기준 테이블 이름.key열이름 = 조인 테이블이름.key열이름
SELECT * FROM OrderDetails INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID;
ON 어디위에 합치고 싶다는 명령어
. 은 테이블 안에 속한 데이터 중 가지고 오고싶은 것에 대한 명령어
EX. OrderDetails.ProductID = Products.ProducstID
orderdetails 테이블 안에 있는 productID의 데이터를 가지고 오고,
= 그것이 products 테이블 안에 있는 productID와 같다
JOIN은 INNER JOIN 부터 LEFT, FULL OUTER 까지 사용 범위가 다양함
** GROUP BY 과 HAVING
GROUP BY 는 엑셀의 피벗테이블과 유사한 역할
HAVING 은 엑셀의 피벗테이블의 필터와 같은 역할
집계함수는 SUM, AVG, MIN, MAX, COUNT 등이 있음
AS는 Alias의 약자로 별칭을 뜻하며 이름을 재지정할 때 사용
SELECT 집계함수(열이름), 열이름 FROM 기준 테이블 이름
WHERE 열이름+조건
GROUP BY 열이름
HAVING 그룹조건
쿼리가 너무 길 경우 명령어를 기준으로 엔터를 쳐서 나눠 확인해도 상관 없음
아래 예시
SELECT COUNT(OrderID), EmployeeID FROM Orders
WHERE ShipperID = 3 쉬퍼아이디가 3이면서
GROUP BY EmployeeID 임플로이아이디 기준으로 카운트하기로 하고
HAVING COUNT (OrderID) > 10 10건을 추가한 아이디, 오더가 11건부터 확인
바로 위 이미지에서 COUNT(OrderID) 와 EmployeeID 의 열 순서를 바꿔주고,
COUNT(OrderID)의 이름을 AS OrderCount 로 바꿔준 예시
SELECT COUNT(OrderID), EmployeeID FROM Orders
=> SELECT EmployeeID, COUNT(OrderID) AS OrderCount FROM Oders
[각 SQL 명령어의 정의 및 코딩 순서]
SELECT : 원하는 열 선택
DISTINCT : 중복 제거 여부 선택
FROM : 원하는 테이블 선택
WHERE : 필터링 조건
GROUP BY : 그룹 조건
HAVING : 그룹 조건 필터링
ORDER BY : 정렬
위 순서대로 코딩이 되어야 문제가 생기지 않음
* 다른 테이블과 테이블을 합칠 때 사용하는 명령어
JOIN : 키 값을 기준으로 다른 테이블끼리 병합 FROM 뒤에 사용
'일상' 카테고리의 다른 글
[외대/이문동] 떡볶이가 무료인 떡볶이집이 있다? 외대앞역 맛집! 이떡집(이상한 떡볶이 집) (1) | 2021.10.21 |
---|---|
[서울역/용산] 살살녹는 돈까스 & 냉우동 맛집 오제제와 너드커피랩 (2) | 2021.10.20 |
30대 여성 탈모 걱정이라면! 두피 케어 | 스케일링 | 웰킨 천호점 (0) | 2021.10.09 |
아리따움 모노아이즈 5종 발색 / 아이메이크업 추천 / 1+1세일 (0) | 2021.10.02 |
[남양주/별내] 식송마을 인테리어 뷰 맛집 루프탑 카페 파즈(PAZ) (0) | 2021.09.28 |
댓글 영역