• Trang chủ
    • Môn học
    • Kỳ thi
    • Báo lỗi
    • Hướng dẫn
    Tất cả môn học
    📊

    SQL

    Bài giảng SQL thực hành 10 buổi (30 giờ) trên dữ liệu chứng khoán: SELECT, hàm thống kê, Window Functions, hàm xử lý dữ liệu, Subquery/CTE, INSERT-UPDATE-DELETE, quan hệ & chuẩn hóa, JOIN, Stored Procedure & Trigger, Index & Transaction. Có slide trình chiếu, ví dụ chạy thử ngay trên trình duyệt và bài tập chấm tự động; mọi bài chạy được trên cả SQL Server và MySQL.

    130 bài · 10 chủ đề

    Bài giảng

    SQL

    Khóa SQL thực hành 10 buổi (30 giờ) cho nhân viên IT, phân tích, back-office công ty chứng khoán — dữ liệu mẫu ngành chứng khoán, mỗi bài chạy được trên SQL Server và MySQL.

    10
    buổi học
    30 giờ
    thời lượng
    130
    bài thực hành
    Tiến độ của bạn0/130 bài (0%)

    🎯 Hoàn thành khóa: giải được ≥70% số bài thực hành

    Hiện 0/130 bài (0%) — cần 91 bài.

    📦 Tài liệu & hướng dẫn cài đặt môi trường
    Bắt đầu học — Buổi 1

    Lộ trình 10 buổi

    1. 1

      Buổi 1: Giới thiệu SQL và cấu trúc câu lệnh SELECT cơ bản

      180 phút
      • Hiểu SQL là gì, các khái niệm Database, Table, Row, Column và vai trò của SQL trong công ty chứng khoán.
      • Nắm cấu trúc bộ dữ liệu mẫu của khóa học (Customers, Accounts, Securities, MarketPrices, Orders, Trades, Portfolio, CustomerStats, AuditLog).
      • Viết được câu lệnh `SELECT ... FROM ...` và chọn cột/bí danh, dùng `DISTINCT`.
      0/12 bàiVào học →
    2. 2

      Buổi 2: Sắp xếp dữ liệu và các hàm thống kê cơ bản

      180 phút
      • Sắp xếp kết quả tất định với `ORDER BY` nhiều cột, khóa phụ và biểu thức.
      • Dùng các hàm thống kê `COUNT`, `SUM`, `AVG`, `MIN`, `MAX`; phân biệt `COUNT(*)` và `COUNT(cột)`, hiểu cách xử lý NULL và chia số nguyên.
      • Giới hạn và phân trang kết quả: `TOP`, `OFFSET ... FETCH` (SQL Server) và `LIMIT ... OFFSET` (MySQL); làm bài "Top 10 khách hàng giàu nhất".
      0/13 bàiVào học →
    3. 3

      Buổi 3: Window Functions

      180 phút
      • Hiểu khái niệm hàm cửa sổ (window function) và cú pháp `OVER (PARTITION BY ... ORDER BY ...)`; phân biệt với `GROUP BY`.
      • Dùng `SUM/AVG/MIN/MAX ... OVER` để so sánh từng dòng với tổng thể mà không gộp dòng.
      • Xếp hạng bằng `ROW_NUMBER`, `RANK`, `DENSE_RANK`; xử lý đồng hạng; lấy Top N theo nhóm.
      0/12 bàiVào học →
    4. 4

      Buổi 4: Kiểu dữ liệu và hàm xử lý dữ liệu

      180 phút
      • Nắm các kiểu dữ liệu phổ biến (số nguyên, số thực, chuỗi, ngày giờ, boolean) và cách chọn kiểu đúng cho dữ liệu chứng khoán; dùng `CAST`.
      • Dùng hàm chuỗi: độ dài, cắt/nối chuỗi, chữ hoa/thường, `TRIM`, `REPLACE`, tìm vị trí ký tự.
      • Dùng hàm ngày giờ: cộng/trừ ngày, chênh lệch ngày, `YEAR/MONTH/DAY`, định dạng ngày; tính số ngày tham gia, tuổi.
      0/12 bàiVào học →
    5. 5

      Buổi 5: CTE, TEMP TABLE và Subquery (truy vấn con)

      180 phút
      • Hiểu subquery là gì, phân biệt subquery vô hướng (scalar) và subquery nhiều hàng
      • Dùng subquery trong WHERE, SELECT, FROM (derived table) và HAVING
      • Dùng IN / NOT IN / EXISTS / NOT EXISTS và ALL / ANY / SOME đúng cách; tránh bẫy NULL của NOT IN
      0/13 bàiVào học →
    6. 6

      Buổi 6: Thay đổi dữ liệu: INSERT, UPDATE, DELETE

      180 phút
      • Viết INSERT một dòng, nhiều dòng và INSERT ... SELECT; hiểu giá trị mặc định và cột tự tăng (IDENTITY / AUTO_INCREMENT)
      • Viết UPDATE (một/nhiều cột, từ subquery) và nhận biết nguy hiểm của UPDATE thiếu WHERE
      • Viết DELETE đúng thứ tự khóa ngoại; phân biệt DELETE, TRUNCATE và cách phục hồi dữ liệu
      0/15 bàiVào học →
    7. 7

      Buổi 7: Mối quan hệ giữa bảng & Normal Form

      180 phút
      • Phân biệt và mô hình hóa quan hệ 1-1, 1-n, n-n (bảng trung gian) trên nghiệp vụ chứng khoán
      • Hiểu và khai báo PRIMARY KEY, FOREIGN KEY, composite key, UNIQUE
      • Chuẩn hóa dữ liệu qua 1NF, 2NF, 3NF và nhận biết lợi ích/đánh đổi
      0/12 bàiVào học →
    8. 8

      Buổi 8: JOIN - Kết hợp bảng

      180 phút
      • Nối bảng bằng INNER JOIN (2 và nhiều bảng) theo chuỗi khóa ngoài
      • Dùng LEFT/RIGHT JOIN để giữ hàng của một phía và tìm hàng không khớp (IS NULL)
      • Hiểu FULL OUTER JOIN và cách thay thế trên MySQL bằng UNION
      0/13 bàiVào học →
    9. 9

      Buổi 9: Stored Procedure & Trigger (cơ bản)

      180 phút
      • Hiểu khái niệm và lợi ích của Stored Procedure (tái sử dụng, bảo mật, hiệu năng, kiểm soát); nắm cú pháp `CREATE PROCEDURE` trên SQL Server (T-SQL) và MySQL.
      • Viết procedure có tham số INPUT/OUTPUT, biến cục bộ (`DECLARE`), điều khiển luồng `IF` / `CASE` / `WHILE`, trả kết quả bằng `SELECT`, `OUTPUT` và `RETURN`.
      • Gọi procedure (`EXEC` / `CALL`) và xử lý kết quả trả về; viết procedure thay đổi dữ liệu (`UPDATE`) an toàn với `@@ROWCOUNT` / `ROW_COUNT()`.
      0/12 bàiVào học →
    10. 10

      Buổi 10: Index & Transaction + Review toàn bộ khóa

      180 phút
      • Hiểu index là gì, cách B-Tree hoạt động, lợi ích (tăng tốc `SELECT`) và chi phí (chậm ghi, tốn dung lượng); biết khi nào nên và không nên tạo index.
      • Phân biệt các loại index: PRIMARY KEY (clustered), UNIQUE, composite (quy tắc cột trái nhất), covering (`INCLUDE`), FULLTEXT; nắm khác biệt SQL Server / MySQL (NULL trong unique index, index khóa ngoại).
      • Tạo, xem và xóa index (`CREATE INDEX`, `DROP INDEX`, danh mục `sys.indexes` / `INFORMATION_SCHEMA.STATISTICS`); đọc execution plan trên SSMS và `EXPLAIN` trên MySQL; hiểu index hints / `FORCE INDEX`.
      0/16 bàiVào học →