SQL Fundamentals
TechnicalViết SELECT, JOIN, GROUP BY để tự lấy data cho decision — không phải đợi data team mọi lần.
Đăng nhập để đánh dấu kỹ năng và theo dõi tiến độ.
Roadmap — Cách học và đạt kỹ năng
Tại sao PM cần SQL
Mọi quyết định product đòi hỏi data. PM phải tự query được ~70% câu hỏi cơ bản (DAU, conversion funnel, cohort retention) thay vì đợi data team queue 3 ngày.
Core SQL cho PM
SELECT … FROM … WHERE— filter rows.GROUP BY+ aggregate (COUNT, SUM, AVG, MAX, MIN).JOIN— INNER, LEFT, RIGHT, FULL.HAVING— filter sau aggregate.ORDER BY,LIMIT.CASE WHENcho conditional logic.- Window functions —
ROW_NUMBER(),LAG(),RANK()cho cohort, retention. - CTEs (
WITHclause) để viết query phức tạp readable.
Ví dụ PM thường gặp
-- D7 retention của user signup tuần trước WITH cohort AS ( SELECT id, DATE(created_at) AS signup_date FROM users WHERE created_at BETWEEN '2026-04-01' AND '2026-04-07' ), active AS ( SELECT DISTINCT user_id, DATE(event_date) AS active_date FROM events ) SELECT COUNT(DISTINCT c.id) AS signups, COUNT(DISTINCT CASE WHEN a.active_date = c.signup_date + INTERVAL 7 DAY THEN c.id END) AS d7_retained FROM cohort c LEFT JOIN active a ON a.user_id = c.id;
Lộ trình học
- Mode Analytics / SQLBolt / sqlzoo — bài tập từ basic tới advanced.
- Câu hỏi thực tế trên data của công ty bạn — request access read-only.
- Self-serve dashboard trên Metabase/Redash để team không-tech cũng dùng.
Common pitfalls
SELECT *trên bảng triệu rows → DB engineer ghét bạn.- Quên timezone — Vietnam là UTC+7, log thường UTC.
- Confuse
COUNT(DISTINCT)vàCOUNT(*).
Thảo luận & tài liệu thêm 0
Chia sẻ kinh nghiệm, đặt câu hỏi, hoặc đính kèm tài liệu/YouTube giúp người khác học kỹ năng này.