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ý.
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 | |
|---|---|
1 | |
Các hệ thống quản trị CSDL | |
2 | |
CSDL quan hệ | |
3 | |
4 | |
SELECT và FROM | |
5 | |
6 | |
Một số lưu ý khi viết truy vấn | |
Tài liệu bonus: |
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 | |
|---|---|
1 | |
Tên cột | |
2 | |
Dữ liệu dạng số | |
3 | |
4 | |
Hàm chuyển đổi kiểu dữ liệu | |
5 | |
Định dạng ngày | |
Tài liệu bonus: |
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 | |
|---|---|
1 | |
2 | |
3 | |
Toán tử so sánh | |
Tài liệu bonus: |
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 | |
|---|---|
1 | |
Khoá chính | |
2 | |
Lưu ý 1: Về Alias tên bảng | |
3 | |
UNION | |
4 | |
Intersect | |
Tài liệu bonus: |
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 | |
|---|---|
1 | |
2 | |
3 | |
4 | |
Hàm xếp hạng (Ranking Functions) | |
Tài liệu bonus: |
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 | |
|---|---|
1 | |
Truy vấn con (Subquery) dùng với IN | |
2 | |
3 | |
4 | |
Tài liệu bonus: |
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.
- Hiểu thêm về cơ chế hoạt động của SQL bằng đại số quan hệ
- Các mô hình dữ liệu
- Chuẩn hóa dữ liệu 1NF, 2NF, 3NF
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.
- Bảng tạm: Local và Global Temporary Table
- So sánh Subquery và CTE cái nào ngon hơn?
- Có thể bạn chưa biết đến biến table trong SQL Server?
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!