Mình không có background IT nhưng mình vẫn quyết định tự học SQL chứ không đi học khóa nào vì 3 lý do:
SQL khá là dễ học.
Tài liệu học thì có sẵn trên mạng từ dễ đến khó.
Không biết khóa nào tốt nên không sẵn sàng chi tiền.
Mình chủ yếu học SQL qua đọc sách, xem YouTube và luyện câu hỏi trên mạng. Hồi đó mình được bạn Hana giới thiệu cho cuốn SQL for dummies, ngồi đọc 1 tuần, rồi bắt đầu luyện câu hỏi. Dần dần sau này tìm tòi, mình phát hiện thêm nhiều nguồn hay. Đúng là quá trình mình học có nhiều thứ vui nhưng nếu mình học lại từ đầu, mình nghĩ mình sẽ làm khác đi. Nhân cơ hội em Dung hỏi, mình quyết định viết lại cách mình sẽ học SQL trong năm 2024.
Học kiến thức cơ bản trước: cụ thể syntax trong SQL, như SELECT, FROM, WHERE, BETWEEN, AND, IN, OR. Mình sẽ học phần Basic SQL của Data Lemur, hoặc xem videohướng dẫn của Alex The Analyst.
Luyện đề: mình hay luyện trên Data Lemur và StrataScratch vì hai trang này có nhiều đề thi của các công ty được phân loại theo các mức độ, (một số câu) có đáp án luôn. Mình nghĩ trang StrataScratch bị đánh giá thấp vì mình thấy trang đó có rất nhiều thứ hay ho liên quan đến data science, có cả data project để luyện luôn nữa. Điểm trừ là giá hơi cao (khoảng 2 triệu/năm sau khi áp code 40%).
Dùng Google hoặc AI khi không hiểu đáp án hoặc kiến thức. Thông thường mình hay vào trang w3school khi mình quên cách dùng một function nào đó vì trang này viết ngắn gọn, đi thẳng vào vấn đề, và mình thường tìm được chính xác cái mình cần trong thời gian ngắn. Ngoài ra mình có thể nhờ AI gia sư khi mình không hiểu tại sao đáp án lại như vậy, hoặc giải thích một kiến thức nào đó mình chưa hiểu rõ.
Học kiến thức intermidiate/advanced và tiếp tục luyện câu hỏi: quay lại trang tutorial của Data Lemur để học tiếp và luyện đề trên cả Data Lemur & StrataScratch.
Làm project: có rất nhiều project SQL nhưng mình nghĩ khi làm project lần đầu tiên, chắc chắn sẽ có nhiều bỡ ngỡ và câu hỏi. Vậy nên mình sẽ chọn project nào có tutorial hướng dẫn từng bước một để mình làm quen trước, rồi sau đó mình sẽ tự làm sau. Mình highly recommend project tutorial của anh Alex nhé, mình học được rất nhiều thứ từ cách tự tra lỗi khi cài đặt database đến lỗi khi không chạy được query. Tất cả đều có sẵn trên mạng, chỉ cần chịu khó đọc một chút là được.
Mình hay chọn tài liệu bằng tiếng Anh vì mình thấy nhiều thuật ngữ dịch ra tiếng Việt thấy còn khó hiểu hơn, và nếu đọc quen tiếng Anh thì sẽ xem được nhiều nguồn tiếng Anh khác nữa, lại có thể luyện tiếng Anh luôn, một hòn đá ném hai con chim. Vậy nên, nếu có thể thì mình khuyến khich bạn chọn học bằng tiếng Anh nhé.
Tại sao mình chỉ có loanh quanh mấy nguồn thế, tại sao không đa dạng hơn, cho các bạn nhiều sự lựa chọn thì sẽ tốt hơn chứ. Câu trả lời là quá nhiều sự lựa chọn sẽ khiến bạn khó tập trung hơn. Mình đã học được bài học này khi mất rất nhiều thời gian browsing qua rất nhiều YouTube channel và khóa học trên Udemy. Mình nhận ra mình đưa ra quyết định tốt và nhanh hơn khi có ít sự lựa chọn hơn, stick với một lựa chọn và đi đến cùng. Hầu hết các nguồn đều có cùng một nội dung, chỉ là cách học nào hợp với bạn thôi.
Có thể bạn cũng tự hỏi là sao mình không giới thiệu Data Camp. Mình từng dùng Data Camp khoảng 5, 6 năm trước, thậm chí mua subscription cả năm. Mình thấy cách học của Data Camp khá là vui, giống như kiểu chơi game để lên level. Tuy nhiên, khi mình bắt đầu luyện đề, mình phát hiện mình rất lóng ngóng khi đặt “bút” viết query, vì khi học theo cách của Data Campt, mình mải chơi mà không thực sự nhớ thứ tự các câu lệnh trong query, cũng như syntax của các function cơ bản thế nào. Vì vậy, mình nghĩ Data Camp sẽ hợp cho bạn nào muốn làm quen với SQL trong giai đoạn đầu. Còn để học thực sự thì mình sẽ chọn nguồn khác 😊.
Cũng cần phải nói thêm, những link mình để trong đây đều là để tham khảo, không nguồn nào là hoàn hảo cả, bạn hoàn toàn có thể không thấy giống mình, và có thể chọn nguồn khác để học. Nhưng mình muốn nói phần chính là: Hãy bắt đầu với những thứ cơ bản trước, thực hành, học thêm, rồi lại thực hành. Khi vừa học vừa hành, bạn sẽ nhớ được kiến thức tốt hơn, và phát hiện được lỗ hổng kiến thức hiệu quả hơn.
Ngoài ra, đừng lo lắng nếu bạn thấy nhiều version SQL (mySQL, PostgreSQL, MSSQL) và nghĩ rằng mình sẽ phải học nhiều loại SQL khác nhau. Mình khá chắc là trình tự viết câu lệnh của các loại SQL đều giống nhau, chỉ có một số function sẽ có syntax/tên function khác một chút thôi (ví dụ một số function date & time). Vì vậy, khi bạn học một loại SQL, bạn hoàn toàn có thể dùng kiến thức đó cho các loại SQL kia và tra cứu khi cần nhé.
Cuối cùng, nếu bạn quyết định đăng ký tài khoản ở trang Data Lemur, và nếu bạn yêu quý mình 😳 hãy đăng ký qua link này để mình được cộng điểm referral mà trong khi bạn cũng không phải trả phí gì nhé.