그로스 마케팅, 그로스 마케터 SQL, MYSQL, JOIN, UNION
“그로스 마케팅 어렵다는데 나도 할 수 있을까?”
이런 고민을 하고 있다면, 지금 이 순간에도 멋쟁이사자처럼에서 그로스 마케팅 과정을 수강하며 자신만의 속도로 성장 중인 수강생들을 주목해보세요.
배우고 잊어버리는 건 누구나 겪는 일이에요. 하지만 멋쟁이사자처럼 부트캠프는 단순히 배우는 것에 그치지 않고, 배운 내용을 내 것으로 만드는 방법까지 고민하고 있어요. 그렇다면, 배운 것을 가장 효과적으로 습득하는 방법은 무엇일까요? 바로 기록하고 정리하는 것이죠. 배운 내용을 정리하고 기록하면, 기억은 오래 남고 실전에서도 활용할 수 있으니까요!
멋쟁이사자처럼 부트캠프는 수강생들이 배운 내용을 정리하고 공유할 수 있도록 TIL (Today I Learned) 블로그 챌린지를 진행하고 있어요. 그래서 오늘, 강사님과 멘토님에게 배운 내용을 체계적으로 기록하며 성장하고 있는 수강생의 이야기를 가져왔어요. 작고 사소해 보일지라도 배운 내용을 정리하고, 기록하면서 성장한 이들의 소중한 경험을 지금 확인해 보세요.
요즘 멋사 그로스 마케팅 부트캠프 수업을 듣고 있다. 2025.01.31 OT를 시작해서 8일차다. 완전 제로베이스라서 저번 한 주는 (파이썬, 팬더스) 이해도 못 하고 너무 어려웠는데, 그래도 코딩에 (입문,,ㅎ) 그 모양새는? 눈은 익었는지 아주 간단한 코드는 해석이 살짝 되는 게 신기할 따름이다.
< mydb라는 데이터베이스에 적용시키기>
리눅스에서 아래 과정을 거쳐 꼭 var로 바꿔줘야 실수로 삭제하고 그랬을 때 피해가 없다!!!
cd /
cd var
ls
mysql -u user1 -p (패스워드 1234 (초기에 지정함))
use mydb; (마리아 디비로 들어감)
show databases;
show tables;
drop table ~~~~; (해당 테이블 삭제)
(* drop table~~~; 했는데 안 지워지면 해당 테이블이랑 연결되어 있는 자식 테이블을 먼저 지워야 함. )
◎ 데이터 베이스 모두 삭제 명령어
= drop database mydb;
◎ 세미콜론 (;)
= 명령어의 끝
◎ 데이터 삽입
= Insert로 시작하는 쿼리문
SQL 용어 정리
SQL은 관계형 데이터 베이스에서 테이터를 관리하기 위한 언어
기타 SQL 주요 문법
SQL-주요 집계 함수
JOIN: 여러 테이블 다루기
두 개 이상의 테이블을 기준이 되는 공통 필드를 통해 결합하여 새로운 데이터를 생성하는 방식.
주로 고객 정보, 마케팅 캠페인, 거래 데이터 등을 통합하여 보다 정밀한 분석을 수행할 때 사용됨.
1. INNER JOIN
SELECT customers.name, customers.email, orders.product, orders.price, orders.order_date
FROM customers -- 왼쪽(Left) 테이블
INNER JOIN orders ON customers.id = orders.customer_id; -- 오른쪽(Right) 테이블
왼쪽 테이블(Left Table): FROM 절에 등장하는 테이블 → customers
오른쪽 테이블(Right Table): JOIN 절에서 합쳐지는 테이블 → orders
조인 조건: ON customers.id = orders.customer_id
customers.id(왼쪽 테이블)과 orders.customer_id(오른쪽 테이블)의 값이 일치하는 행만 반환
ON 키워드는 SQL에서 JOIN을 수행할 때 두 테이블을 결합하는 기준(조인 조건)을 지정하는 역할을 한다. 즉, 테이블 간 관계를 설정하여 원하는 데이터를 효율적으로 조인하는 것이 목적
<주석 VER.>
SELECT
customers.name, -- 고객 이름 (customers 테이블에서 가져옴)
customers.email, -- 고객 이메일 (customers 테이블에서 가져옴)
orders.product, -- 주문한 제품명 (orders 테이블에서 가져옴)
orders.price, -- 주문한 제품 가격 (orders 테이블에서 가져옴)
orders.order_date -- 주문 날짜 (orders 테이블에서 가져옴)
FROM customers -- 고객 정보를 포함하는 테이블
INNER JOIN orders -- 고객과 주문 데이터를 결합
ON customers.id = orders.customer_id; -- 고객 ID를 기준으로 두 테이블을 연결 (조인 조건)
2. LEFT JOIN
SELECT customers.name, customers.email, orders.product, orders.price, orders.order_date
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
주문이 없는 고객도 조회됨
3. RIGHT JOIN
SELECT customers.name, customers.email, orders.product, orders.price, orders.order_date
FROM customers
RIGHT JOIN orders ON customers.id = orders.customer_id;
주문을 한 고객만 출력됨
4. FULL OUTER JOIN
SELECT customers.name, customers.email, orders.product, orders.price, orders.order_date
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id
UNION
SELECT customers.name, customers.email, orders.product, orders.price, orders.order_date
FROM customers
RIGHT JOIN orders ON customers.id = orders.customer_id;
MariaDB는 FULL OUTER JOIN을 지원하지 않기 때문에, UNION을 사용
UNION
두 개 이상의 테이블에서 데이터를 가져와 동일한 컬럼 구조로 하나의 결과 집합으로 결합하는 SQL 연산자. 즉, 여러 데이터 소스를 하나의 테이블처럼 합쳐 분석할 때 유용.
여러 테이블에서 가져온 데이터를 동일한 컬럼 구조를 가진 경우 하나의 결과 집합으로 합치는 방식
예를 들어, 여러 마케팅 채널(이메일, SNS, 광고 등)의 성과 데이터를 하나로 합칠 때 유용함
컬럼 개수와 데이터 타입이 동일해야 함
중복 데이터를 자동 제거함
중복 데이터를 포함하려면 UNION ALL 을 사용함.
이렇게,, 오늘 수업 복습,,, 끝
하도!! Ctrl + c 가 손에 익어서 SSH 안에서 쓰다 보니 강제 종료돼서... 마리아디비로 들어가는 순서?랑 select * from --- ; 이거는 진짜 이제 외워졌다 ㅋㅋㅋㅋㅋㅋ 이런거 라도 장족의 발전이다ㅠ
오늘도 좋은 수업 감사했습니다. 강사님 :D
공부는 배울 때 끝나는 게 아니라, 되새기고 활용할 때 완성돼요. 그런 의미에서 오늘 소개한 이야기는 단순한 후기가 아니라, 학습을 더 효과적으로 만들고 나만의 것으로 만드는 과정이었을 거예요. 여러분도 배운 내용을 정리하고, 더 오래 기억하는 습관을 만들어 보세요. 작은 차이가 결국 큰 결과를 만들 테니까요!
내가 배운 것을 글로 정리하는 것이 처음에는 어렵게 느껴질 수도 있지만 멋쟁이사자처럼과 함께 꾸준히 기록하다 보면 스스로 변화하고 있다는 걸 깨닫게 될 거예요. 자! 이제 여러분 차례에요. 언제나 여러분의 곁에는 멋쟁이사자처럼이 있으니 고민하지 말고 배움을 기록하고, 성장의 발자취를 남겨보세요!