SQL cho phân tích dữ liệu

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;
routepassengers
Moscow → St. Petersburg37575
St. Petersburg → Moscow35427
Moscow → Novosibirsk29063
Novosibirsk → Moscow28239
Moscow → Sochi23098

5 dòng

Khóa học

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

9 học phần · 31 bài học · 94 bài tập

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.

  1. Dữ liệu được tổ chức thế nào
  2. SELECT: những truy vấn đầu tiên
  3. WHERE: lọc dòng
  4. Hàm: số, chuỗi và ngày tháng
  5. GROUP BY và HAVING
  6. JOIN
  7. CASE và NULL
  8. Truy vấn con và CTE
  9. UNION và hai dự án tổng kết

SQL nâng cao

16 học phần · 51 bài học · 154 bài tập

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.

  1. Hàm cửa sổ: xếp hạng, tỷ trọng, cộng dồn
  2. Chuỗi ngày không bị thiếu
  3. Self join, full join và đệ quy
  4. Khung cửa sổ và phân vị
  5. Gaps and islands (chuỗi liên tiếp)
  6. Phiên và hành trình người dùng
  7. ROLLUP và CUBE
  8. JSON và mảng
  9. Lịch sử thay đổi (SCD2)
  10. Chất lượng dữ liệu
  11. DAU, tỷ lệ giữ chân (retention) và LTV
  12. Thử nghiệm và A/B test
  13. Câu hỏi phỏng vấn
  14. Hai dự án tổng kết

Một bài học gồm gì

Lý thuyết ngắn, phân tích từng dòng và ba bài tập

  1. 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ớ.

  2. 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ó.

  3. 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.

Ví dụ

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.

Dữ liệu

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ì.

Trong phòng học

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 ai

Dành cho người sẽ dùng SQL trong công việc

Giá

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.

Ngôn ngữ của bạ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.

Bắt đầu luyện miễn phí →

Hướng dẫn SQL

Tất cả hướng dẫn SQL →

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.