Luyện SQL trên cơ sở dữ liệu thật, chấm ngay từng truy vấn
Viết truy vấn ngay trên trình duyệt với cơ sở dữ liệu của một hãng hàng không gồm 4,1 triệu dòng. Mỗi câu trả lời được so với kết quả mong đợi, từ câu SELECT đầu tiên đến hàm cửa sổ, tỷ lệ giữ chân và câu hỏi phỏng vấn.
Không cần thẻ. Toàn bộ lý thuyết và học phần đầu tiên đều miễn phí; một gói truy cập mở mọi khóa học của Nomto.
- 82 bài học, 248 bài tập
- Cú pháp PostgreSQL
- Gia sư AI trong mỗi bài tập
-- năm tuyến bay đông hành khách nhất
SELECT a.city || ' → ' || b.city AS route,
COUNT(*) AS passengers
FROM ticket_flights tf
JOIN flights f ON f.flight_id = tf.flight_id
JOIN airports a ON a.airport_code = f.departure_airport
JOIN airports b ON b.airport_code = f.arrival_airport
GROUP BY route
ORDER BY passengers DESC
LIMIT 5;| route | passengers |
|---|---|
| Moscow → St. Petersburg | 37575 |
| St. Petersburg → Moscow | 35427 |
| Moscow → Novosibirsk | 29063 |
| Novosibirsk → Moscow | 28239 |
| Moscow → Sochi | 23098 |
5 dòng
Hai phần: từ con số 0 đến trình độ phỏng vấn
Nếu bạn mới làm quen với SQL, hãy bắt đầu với SQL cơ bản. Nếu bạn đã viết được JOIN và GROUP BY, hãy vào thẳng SQL nâng cao.
SQL cơ bản
Mọi thứ một chuyên viên phân tích viết hằng ngày, theo đúng thứ tự kiến thức nối tiếp nhau.
- Dữ liệu được tổ chức thế nào
- SELECT: những truy vấn đầu tiên
- WHERE: lọc dòng
- Hàm: số, chuỗi và ngày tháng
- GROUP BY và HAVING
- JOIN
- CASE và NULL
- Truy vấn con và CTE
- UNION và hai dự án tổng kết
SQL nâng cao
Những truy vấn mà đội phân tích dữ liệu và nhà tuyển dụng thực sự cần.
- Hàm cửa sổ: xếp hạng, tỷ trọng, cộng dồn
- Chuỗi ngày không bị thiếu
- Self join, full join và đệ quy
- Khung cửa sổ và phân vị
- Gaps and islands (chuỗi liên tiếp)
- Phiên và hành trình người dùng
- ROLLUP và CUBE
- JSON và mảng
- Lịch sử thay đổi (SCD2)
- Chất lượng dữ liệu
- DAU, tỷ lệ giữ chân (retention) và LTV
- Thử nghiệm và A/B test
- Câu hỏi phỏng vấn
- Hai dự án tổng kết
Lý thuyết ngắn, phân tích từng dòng và ba bài tập
Lý thuyết ngắn
Mỗi bài học một ý chính, kèm một truy vấn ví dụ bạn có thể chạy và phần ghi nhớ.
Phân tích từng dòng
Một truy vấn hoàn chỉnh được mổ xẻ từng dòng: mỗi mệnh đề làm gì và vì sao cần có nó.
Ba bài tập
Khởi động, cốt lõi và thử thách. Mỗi bài có truy vấn khởi đầu, hai gợi ý và lời giải khi bạn cần.
Một bài tập và điều trình chấm nói với bạn
Truy vấn chạy được chưa chắc đã đúng. Trình chấm so kết quả của bạn với kết quả mong đợi và chỉ ra chỗ sai: sai cột, thừa dòng hay sai thứ tự.
Khởi động · GROUP BY và HAVING
Những sân bay nào có hơn 400 chuyến khởi hành trong toàn bộ giai đoạn? Sắp xếp theo flights_count từ cao xuống thấp.
Các cột mong đợi: departure_airport flights_count
FROM flights
Truy vấn của bạn
SELECT departure_airport,
COUNT(*) AS flights_count
FROM flights
GROUP BY departure_airport
HAVING COUNT(*) >= 400
ORDER BY flights_count DESC;✗ 19 dòng thay vì 18. Dòng thừa là Khabarovsk (KHV) với đúng 400 chuyến: “hơn 400” là >, không phải >=.
✓ HAVING COUNT(*) > 400 — Chính xác: 18 sân bay. Chỉ có năm sân bay vượt quá một nghìn chuyến.
Cơ sở dữ liệu thật của một hãng hàng không, không phải mười dòng đồ chơi
Chuyến bay, đặt chỗ, vé và thẻ lên máy bay, cùng chương trình khách hàng thân thiết, sự kiện trong ứng dụng và các thử nghiệm A/B, để bài tập phân tích có thứ thật để phân tích.
14 bảng
4,1M dòng
- Dựa trên cơ sở dữ liệu demo của Postgres Professional, bộ dữ liệu kinh điển để dạy SQL.
- Bạn viết PostgreSQL, phương ngữ SQL mà phần lớn các đội phân tích dữ liệu đang dùng.
- Truy vấn chạy trong môi trường chỉ đọc: không phải cài gì, cũng không thể làm hỏng gì.
Có người giúp khi bí, có chỗ để thử nghiệm
Gia sư AI trong mỗi bài tập
Hỏi vì sao truy vấn của bạn chưa đúng. Gia sư thấy đề bài và kết quả của bạn, rồi gợi hướng sửa thay vì đưa luôn đáp án.
Sân tập
Một bảng điều khiển tự do trên toàn bộ cơ sở dữ liệu, có cấu trúc bảng ngay bên cạnh. Hãy tự đặt câu hỏi cho dữ liệu.
Tra cứu nhanh
Thẻ ngắn gọn cho mọi mệnh đề và hàm dùng trong khóa học, có liên kết ngay từ bài học.
Dành cho người sẽ dùng SQL trong công việc
- Người muốn trở thành chuyên viên phân tích dữ liệu và data analyst mới vào nghề
- Người đang chuẩn bị phỏng vấn SQL
- Marketer và product manager muốn tự tìm câu trả lời mà không phải chờ chuyên viên phân tích
Bắt đầu miễn phí, mở toàn bộ bằng gói truy cập
Miễn phí
- Toàn bộ lý thuyết và phần phân tích từng dòng
- Học phần đầu tiên của SQL cơ bản
- 30 lượt kiểm tra để dùng thử (10 lượt khi chưa có tài khoản)
- 3 câu hỏi cho gia sư (1 câu khi chưa có tài khoản)
Với gói truy cập Nomto
- Toàn bộ 25 học phần và 248 bài tập
- Kiểm tra không giới hạn mỗi ngày
- Thêm câu hỏi cho gia sư
- Cùng mọi khóa học khác của Nomto
Một gói truy cập cho mọi khóa học của Nomto. Giá hiển thị trong phòng học khi thanh toán.
Giải thích bằng tiếng Việt, Anh, Tây Ban Nha, Nga, Trung hoặc Bồ Đào Nha
SQL ở đâu cũng giống nhau. Lý thuyết, gợi ý và gia sư nói ngôn ngữ bạn chọn trong phòng học; tên bảng và tên cột giữ nguyên.
Hướng dẫn SQL
- Câu lệnh SQL cơ bản: SELECT, WHERE, ORDER BY, GROUP BY và JOIN cho người mới
- Lộ trình data analyst: học gì, theo thứ tự nào và mất bao lâu
- GROUP BY và HAVING trong SQL: khác nhau giữa WHERE và HAVING, kèm ví dụ
- ROW_NUMBER, RANK và DENSE_RANK trong SQL khác nhau thế nào khi có giá trị bằng nhau
- Hàm tổng hợp trong SQL: COUNT, SUM, AVG, MIN, MAX kèm ví dụ
- CASE WHEN trong SQL: câu lệnh điều kiện, phân loại và tổng hợp có điều kiện
Câu hỏi thường gặp
Tôi có cần cài đặt gì không?
Không. Mọi truy vấn chạy ngay trên trình duyệt với cơ sở dữ liệu của chúng tôi, trong môi trường chỉ đọc. Bạn chỉ cần trình duyệt; viết SQL trên laptop sẽ thoải mái hơn trên điện thoại.
Người mới hoàn toàn có học được không?
Được. SQL cơ bản bắt đầu từ cách dữ liệu được tổ chức trong bảng và câu SELECT đầu tiên của bạn. Mỗi bài học gồm lý thuyết ngắn, phân tích từng dòng và ba bài tập, từ khởi động đến thử thách.
Khóa học dạy phương ngữ SQL nào?
Cú pháp PostgreSQL, phương ngữ mà phần lớn các đội phân tích dữ liệu đang dùng. Những gì bạn học áp dụng được cho BigQuery, Snowflake, Redshift và MySQL với vài khác biệt nhỏ.
Bài tập SQL có lời giải không?
Có. Mỗi bài tập có hai gợi ý và một lời giải mẫu, và sau khi kiểm tra đúng bạn sẽ thấy ghi chú về ý nghĩa của kết quả. Trình chấm cũng chỉ ra kết quả của bạn sai ở đâu: sai cột, thừa dòng hay sai thứ tự.
Khóa học có giúp chuẩn bị phỏng vấn SQL không?
SQL nâng cao có một học phần câu hỏi phỏng vấn, và những chủ đề hay được hỏi nhất đều có học phần riêng: hàm cửa sổ, gaps and islands, phiên, tỷ lệ giữ chân và thử nghiệm.
Những gì được miễn phí?
Toàn bộ lý thuyết và phần phân tích từng dòng, học phần đầu tiên của SQL cơ bản và phần dùng thử miễn phí: 30 lượt kiểm tra và 3 câu hỏi cho gia sư khi có tài khoản (10 lượt kiểm tra và 1 câu hỏi khi chưa có). Gói truy cập Nomto mở mọi học phần và mọi khóa học của Nomto; giá hiển thị trong phòng học khi thanh toán.
Viết truy vấn đầu tiên của bạn
Bài học đầu tiên chỉ mất vài phút. Lần kiểm tra đầu tiên sẽ cho bạn thấy mọi thứ hoạt động thế nào.