Tổng hợp tài liệu SQL miễn phí kèm hướng dẫn lộ trình tự học 2024

Ngày đăng: 06/03/2024

Hiện nay nhu cầu học SQL cho Data Analyst ngày càng cao do đây là một trong những ngôn ngữ truy vấn dữ liệu đang có nhu cầu cao và đã trở thành một kỹ năng quan trọng trong phân tích dữ liệu.  

Vì vậy trong bài viết này, Datapot xin được chia sẻ tới bạn tổng hợp các tài liệu SQL miến phí được sắp xếp có lộ trình phù hợp với người muốn học SQL để làm phân tích dữ liệu. Để giúp các bạn tự học hiệu quả, các tài liệu SQL đã được sắp xếp có lộ trình để giúp các bạn biết được mình cần học gì cũng như có thứ tự tìm hiểu hợp lý.

Chuyển đến phần tài liệu SQL

Tại sao nên học SQL

Trước khi tìm hiểu thêm về các tài liệu, nếu bạn là một người mới tìm hiểu hoặc fresher mới gia nhập ngành phân tích dữ liệu, chắc hẳn bạn đang băn khoăn SQL là gì? Và tại sao bạn nên học SQL?

Có hai điều ở đây:

  • Sự phổ biến của SQL
  • Nhu cầu về SQL

Mức độ phổ biến trong ngành dữ liệu

Điều đầu tiên cần nói đến đó là mức đổ phổ biến của SQL. Hầu như tất cả các công ty lớn trong ngành công nghệ như Uber, Netflix, Aribnb , ngày cả những công ty như Facebook, Google hay Amazon và nhiều công ty lớn khác đều sử dụng SQL.

SQL cũng là một trong những ngôn ngữ rất phổ biến được sử dụng nhiều bởi Data Analyst, Data Scientist hay Data Engineer. Trong một khảo sát của StackOverflow, sự SQL phổ biến hơn cả Python, R và nhiều ngôn ngữ khác.

SQL là kỹ năng quan trọng khi phân tích dữ liệu

Nếu bạn muốn kiếm một công việc về dữ liệu, thì đây là một trong những kỹ năng mà nhà tuyển dụng sẽ cần ở bạn. Thậm chí kỹ năng này còn được yêu cầu ngay cả với những vị trí entry-level như Intern hay Fresher.

Có thể thấy SQL đang là nhu cầu, chính vì vậy mà hiện này ngày càng nhiều người học SQL để trang bị thêm kỹ năng hay để trở thành Data Analyst.

Các lỗi thường gặp khi tự học SQL

Có nhiều cách để học một ngôn ngữ và cách tự học vẫn thường là lựa chọn ưu tiên đối với người mới học. Tự chủ động tìm kiếm và học tập luôn là điều tốt, tuy nhiên, với người mới thì luôn có những khó khăn, sai lầm khi học một thứ mới.

Với hoc SQL, người mới thường có hai lỗi:

  • Tiếp nhận quá nhiều thông tin mà không xử lý được
  • Học xong nhưng không vận dụng được trong thực tế, công việc

Tiếp cận quá nhiều thông tin

Người mới học thường hay bị sa đà vào việc tìm kiếm thông tin. Khi còn chưa biết bắt đầu từ đâu thì tiếp cận quá nhiều thông tin sẽ dễ bị bối rối và không xử lý được, và sẽ khó trong việc xác định bắt đầu từ đâu, học gì và lộ trình như nào.

Không vận dụng được trong thực tế

Một điều nữa đó là khó khăn trong việc ứng dụng SQL vào giải quyết các vấn đề. Điều này có thể là do nguồn tự học chỉ đưa ra nội dung, kiến thức chưa đủ chi tiết, hoặc người tự học học không đủ sâu. Vì thế mà khi gặp bài toán thực tế lại không biết nên vận dụng các câu lệnh để giải quyết.

Ngoài ra khi tự học, nếu chỉ tập trung học tool thì sẽ rất khó để giải quyết các vấn đề thực tế. Điều này là vì chúng ta thiếu mất sự rèn luyện tư duy giải quyết vấn đề (Problem Solving)

Vậy học như nào cho hiệu quả?

Học đúng trọng tâm và có lộ trình

Chúng ta nên xác định được trọng tâm của việc học. Điều này là vì khi học SQL để làm việc phân tích như của Data Analyst (truy vấn và xử lý dữ liệu) sẽ khác với học SQL cho các vị trí khác như Data Engineer (nhập, xuất, chuyển đổi dữ liệu từ nhiều nguồn), Database Admin (quản trị cơ sở dữ liệu).

Nếu bạn muốn làm phân tích dữ liệu hay trở thành Data Analyst, thì trọng tâm của việc tự học SQL nên đặt vào việc để truy vấn và xử lý dữ liệu một cách hiệu quả là đủ.

Ngoài việc học có trọng tâm thì cũng nên có một lộ trình, thứ tự sắp xếp kiến thức cần ưu tiên học một cách hợp lý.

Vận dụng được vào thực tế

Để vận dụng được SQL hiệu quả, ngoài việc hiểu lý thuyết, thực hành các câu lệnh, thì cần có tư duy giải quyết vấn đề. Vì khi đi làm, công việc sẽ tập trung vào giải các bài toán phân tích, vấn đề của doanh nghiệp chứ không chỉ là những câu truy vấn đơn lẻ như khi thực hành.

Để rõ hơn về tư duy giải quyết vấn đề, các bạn có thể tham khảo một số case study về SQL liên quan đến khách hàng như phân tích phân khúc khách hàng, giá trị vòng đời khách hàng hay phân tích RFM.

Một vài ứng dụng khác phân tích market, build redash dashboard bằng SQL.

Lựa chọn công cụ thực hành phù hợp

Một yếu tố mà thường không được chú trọng để học tập hiệu quả đó là công cụ, ngay từ đâu chúng ta nên có một công cụ tiện lợi để việc thực hành dễ dàng và xuyên suốt. Điều này là để đảm bảo việc thực hành không gián đoạn khi phải chuyển qua lại nhiều công cụ.

Thực hành trên các nền tảng online

Thực hành SQL online trên các nền tảng trực tuyến không còn xa lạ, đây là lựa chọn tối ưu đối với người không muốn phải setup nhiều. Tuy nhiên khi sử dụng các nền tảng này, có một vài hạn chế như mất phí và khó tùy chỉnh theo nhu cầu cá nhân được. Tham khảo thêm các nền tảng thực hành SQL online phổ biến.

Tự cài đặt công cụ để thực hành

Nếu tự cài đặt, chúng ta có thể bắt đầu với Microsoft SQL Server. Để biết vì sao, hãy tìm hiểu điểm mạnh của SQL Server. Ngoài SQL Server, mời bạn tìm hiểu thêm về các hệ quản trị cở sở dữ liệu phổ biến khác.

Chúng ta có thể lựa chọn giữa hai phiên bản phổ biến là 2019 và 2022. Để cài đặt, bạn xem hướng dẫn cài đặt SQL Server 2019 hoặc cài đặt SQL Server 2022 nhé.

Khi cài đặt xong, chúng ta có thể khôi phục database mẫu AdventureWorks cung cấp sẵn bởi Microsoft để có thể thực hành truy vấn được luôn. Tải AdventureWorks sample databases và xem hướng dẫn cách khôi phục AdventureWorks trong SQL Server.

Cuối cùng, để có thể tương tác được với nhiều hệ quản trị cở sở dữ liệu, chúng ta nên cài đặt Azure Data Studio. Việc cài đặt Azure Data Studio mang lại nhiều lợi ích về tương tác được với nhiều hệ quản trị cơ sở dữ liệu và làm việc sau này. Một lựa chọn thay thế khác là JetBrains DataGrip, bạn có thể start miễn phí dùng thử 30 ngày (với học viên của Datapot sẽ được nhận ưu đãi Student Pack trị giá 270USD/năm).

Tài liệu SQL cơ bản có lộ trình cho người mới

Phần 1 – Tổng quan về SQL

Các bạn sẽ được học về những khái niệm, kiến thức cơ bản nhất về SQL, và chúng sẽ là nền tảng cho những phần tiếp theo.

Nội dung trong phần 1
1Giới thiệu về hệ thống quản trị cơ sở dữ liệu (DBMS)
Các hệ thống quản trị CSDL
Chuẩn ISO
2 Một số khái niệm cơ bản trong CSDL
CSDL quan hệ
Máy chủ
Cơ sở dữ liệu
Lược đồ
Bảng
CSDL phi quan hệ
3Các nhóm câu lệnh
4Cấu trúc câu lệnh
SELECT và FROM
WHERE
GROUP BY
HAVING
ORDER BY
5Logic thực thi câu lệnh (Order Of Execution)
6Các tips khi viết truy vấn
Một số lưu ý khi viết truy vấn
Những ngầm định khi viết SQL
Tài liệu bonus:
So sánh các hệ quản trị CSDL
Khám phá thêm về T-SQL
Cách dùng mệnh để WHERE hiệu quả

Phần 2 – Các kiểu dữ liệu trong SQL và các hàm xử lý dữ liệu tương ứng

Sau khi đã nắm được cơ bản về các khái niệm cần thiết, ở phần 2 chúng ta sẽ tìm hiểu về các kiểu dữ liệu. Việc hiệu đúng bản chất của kiểu dữ liệu rất quan trọng trong việc xử lý dữ hiệu quả

Nội dung chính trong phần 2
1Cách xem thuộc tính của cột
Tên cột 
Kiểu dữ liệu 
Chỉ mục 
Một số ràng buộc (constraints) trong cột và bảng 
2Kiểu dữ liệu trong SQL Server
Dữ liệu dạng số 
Dữ liệu dạng số xấp xỉ 
Dữ liệu dạng số chính xác 
Dữ liệu dạng ký tự 
Dữ liệu dạng chuỗi ký tự 
Dữ liệu dạng chuỗi nhị phân 
Dữ liệu dạng ký tự Unicode 
Dữ liệu dạng ngày giờ 
Trạng thái NULL của dữ liệu 
3Kiểm tra các kiểu dữ liệu của cột trong bảng
4Các hàm làm việc tương ứng kiểu dữ liệu
Hàm chuyển đổi kiểu dữ liệu 
Xử lý dữ liệu dạng chuỗi 
Xử lý và thao tác với dữ liệu dạng ngày (Date manipulations) 
Xử lý các dữ liệu không tồn tại hoặc không có sẵn (NULL) 
5Nhóm hàm định dạng dữ liệu
Định dạng ngày 
Làm tròn số
Tài liệu bonus: 
Một vài lưu ý khi làm việc với NULL trong SQL

Phần 3 – Câu lệnh WHERE và truy vấn có điều kiện

Trong phần 3, chúng ta sẽ tìm hiểu sâu về mệnh đề WHERE và cách lọc dữ liệu với một hoặc nhiều điều kiện.

Nội dung chính trong phần 3
1Giới thiệu về mệnh đề WHERE
2Lọc khi có nhiều hơn một điều điện
3Các loại toán tử phổ biến
Toán tử so sánh
Toán tử logic
Toán tử so sánh giá trị tương tối (LIKE)
Toán tử lọc trong tập giá trị (IN)
Toán tử truy vấn giá trị trong khoảng (BETWEEN)
Toán tử xử lý NULLToán tử phủ định điều kiện (NOT)
Tài liệu bonus:
Xem thêm ứng dụng khác của WHERE

Phần 4 – Hai kiểu gộp bảng bằng JOIN và UNION trong SQL

Khi một bảng đơn không đủ thông tin, ta sẽ cần kết hợp dữ liệu từ các bảng để có được kết quả mong muốn. Ở phần 4 này, chúng ta sẽ tìm hiểu về 2 kiểu kết hợp bảng phổ biến là JOIN và UNION.

Nội dung chính trong phần 4
1Kết hợp bảng sử dụng JOIN
Khoá chính
Khoá ngoại
Kết hợp điểm chung (Inner Join)
Kết hợp trái (Left Join)
Kết hợp phải (Right Join)
Kết hợp chéo (Cross Join)
Kết hợp tất cả (Outer Join/Full Outer Join)
Kết hợp với nhiều hơn 2 bảng
Kết hợp với chính nó (Self Join)
2Các lưu ý khi viết JOIN
Lưu ý 1: Về Alias tên bảng
Lưu ý 2: Lỗi Ambigous column name
3Kết hợp bảng sử dụng UNION
UNION
UNION ALL
4Một số lý thuyết tập hợp khác
Intersect
Exception
Tài liệu bonus:
Đọc thêm về các loại JOIN
Các ứng dụng khác của Self Join
Tìm hiểu về No-Equi Join
Lưu ý về JOIN trong phân tích dữ liệu
Đọc thêm về ứng dụng của JOIN và UNION
Tìm hiểu về toán tử tập hợp SET OPERATOR trong SQL

Phần 5 – Mệnh đề GROUP BY và HAVING trong SQL

Một trong những tính năng hữu ích của SQL đó là GROUP BY. Với tính năng này, chúng ta có thể thực hiện các tính toán tổng hợp và nhóm theo hàng. Và khi thực hiện tính toán mà chúng ta cần thêm điều kiện hoặc sắp xếp thứ hạng, lúc này HAVING và WINDOW FUNCTIONS sẽ rất có ích.

Nội dung chính trong phần 5
1Nhóm các hàng bằng GROUP BY
2Chỉ định điều kiện các nhóm bằng mệnh đề HAVING
3WHERE và HAVING khác nhau ở đâu?
4Hàm cửa sổ (Window Function)
Hàm xếp hạng (Ranking Functions)
So sánh 3 hàm RANK, DENSE_RANK và ROW_NUMBER
Một số hàm tính toán trong hàm cửa sổ (Window Functions) khác
Tài liệu bonus:
Những ứng dụng khác của WINDOW FUNCTION
WINDOW FUNCTION vs GROUP BY
GROUP BY vs PARTITION

Phần 6 – SUBQUERY và CTE trong SQL

Luôn có những bài toán, vấn đề phức tạp hơn mà một truy vấn không thể giải quyết được. Ví dụ như so sánh kết quả của các truy vấn khác nhau, thực hiện các phép tính trên một tập hợp con hay sử dụng lại một truy vấn nhiều lần, lúc này nếu biết cách dùng SUBQUERY và CTE sẽ rất hữu ích.

Nội dung chính trong phần 6
1Truy vấn con (Subquery)
Truy vấn con (Subquery) dùng với IN
Truy vấn con (Subquery) sử dụng với mệnh đề FROM
Truy vấn con tương quan (Correlated Subquery)
2Bảng chứa dữ liệu tạm thời – CTE (Common Table Expressions)
3Một số lưu ý thường gặp khi sử dụng Subquery và CTE
4Ưu và nhược điểm khi sử dụng Subquery và CTE
Tài liệu bonus:
Một số ứng dụng khác của CTE trong SQL

Tài liệu SQL nâng cao

Lý thuyết nâng cao

Mục này sẽ chứa các bài lý thuyết nâng cao cả về SQL và dữ liệu nói chung.

Các kiểu chứa dữ liệu tạm thời

Đây là một kỹ thuật nâng cao trong SQL, những rất có ích nếu ta hiểu được và biết sử dụng chúng trong các bài toán query phức tập.

Tối ưu truy vấn

Các tips, kỹ thuật tối ưu hóa (SQL performance tuning) để tăng hiệu suất và giảm thời gian truy vấn.

——

Tài liệu tham khảo khác

Lời tạm kết

Hi vọng qua bài chia sẻ này, bộ tài liệu SQL sẽ là điểm tựa để các bạn có định hướng và lộ trình rõ ràng hơn. Chúc các bạn sẽ có những trải nghiệm thú vị khi khám phá và giải mã những con số.  

Bộ tài liệu tự học SQL trong bài viết này sẽ được cập nhật thường xuyên để đảm bảo kiến thức được chia sẻ luôn là mới nhất. Bạn hãy bookmark lại để theo dõi những kiến thức mới cũng như để tra cứu lại kiến thức mỗi khi cần nhé. Chúc các bạn thành công trên con đường mình đang theo đuổi! 

Chia sẻ bài viết này

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *