SQL 入門|14 天課程筆記與心得

最近完成了在 ALPHA CAMP 上的「14 天 SQL 入門課程」,想要在這篇文章裡和大家分享我的學習歷程、個人心得和一些對未來的展望,繼續看下去吧!

前言|為何想要學習 SQL?

其實我的初衷還蠻簡單的,主要是先前在接觸數據分析的時候,曾經聽講師和前輩們說過,如果你除了會製作視覺化圖表、產出洞見以外,還能夠熟悉操作後端資料庫的 SQL 語法,會讓團隊在運作起來更加流暢(不過我其實最初是只知道 MYSQL)

SQL 是什麼?

當然,為了怕有些讀者不清楚什麼是 SQL,我這裡摘錄了課程教案裡的說明幫大家做理解:SQL (Structured Query Language 結構化查詢語言) 是一種專門用來管理與查詢關聯式資料庫的程式語言。

透過 SQL,我們能在關聯式資料庫裡新增、查詢、更新和刪除資料,同時也能建立和修改資料庫模式。SQL 是在七十年代,由兩位 IBM 的研究員,Raymond Boyce 和 Donald Chamberlin 所開發的。

機緣巧合

之後我也自己接觸了 python,、爬蟲等相關資料處理的知識,也曾試過在網路上爬取資料的小專案。當我知道得越多,變越覺得如果能懂得資料庫語法,對於我整理和撈取資料肯定會更加順利,於是有了想學習 SQL 的想法。

而剛好,我先前有在 ALPHA CAMP 上學過初階的前端語法,而前陣子它們又推出了「14 天 SQL 入門」的課程(我當時買的價格是 2,780),可謂是相當符合我的需求,於是趁著最近剛開學,手頭事情比較少的時候報名這堂課,花了大約兩週多一點的時間完成課程。

課程心得分享&學習心路歷程

如果不太清楚 ALPHA CAMP 上課模式的讀者,建議可以去看我之前寫過的《JavaScript 全端開發學習筆記|我為何要學程式語言?》,在裡面的第二個大段落我有介紹這個平台的授課方式,可供參考!

回到正題,經過之前學期一的試煉,我已經很能適應在 AC 學習時需要投入的時間和功課的難易度,因此在學習上其實不會太過困難。而這次課程比較不一樣的地方是,很多的教案都是結合開放學習資源 W3school 來讓我們做練習,之後才會在小段落來出作業,檢視我們是否完成。

在課程的前半段,也就是第一週的安排上我覺得相當輕鬆,也可能是 SQL 畢竟不像 JS 一樣需要理解許多邏輯,而且學過前端和一些 Python 的我也早就不是當初那個程式小白,因此很順利的只花大概 3~4 天就完成第一週的課程安排。

難度上升的企業案例實戰

一直到基礎語法教學結束的第 11 天(課程安排,但我大概一週就到這),我都沒有碰到太大的瓶頸,正沾沾自喜的覺得自己該不會是個天才,隨之而來的企業案例實戰題將我從這美好的幻想中拉了出來(後面會簡述我寫題目的心得)

在基礎語法結束之後,會讓我們實作由 AC 團隊提供的企業案例實戰題,裡面會是實務上碰到的問題,以及經過處理,但盡可能還原當初情況的數據。這樣的課程安排也是我當初會來報名的很大一個原因(真的太香了)

數據分析的邏輯

雖然我在做企業實戰題的時候屢屢碰壁,但也紮實的從中學到很多實用的觀念。而最令我驚豔的是,AC 團隊除了給予程式語法上的指導以外,也在教案中提供數據分析的概念教學。

雖說我有在資訊種子、一些線上課程和實作專案中學過,但我還是覺得搭配實際案例與清晰邏輯架構的這份教案相當紮實,讓我重新認識了數據或資料工作者是如何針對手上的資料與問題做分析與規劃,光這一份就相當值得。

在這裡我也擷取一些圖片來讓大家稍微參考一下:

很喜歡這種除了硬實力之外,還帶一些觀念給學員的模式,而且在實作過程中,也會按照不同階段來給予指示,讓我們可以一步一步地針對問題做數據的處理和圖表製作。

我個人覺得這對我幫助蠻大的,因為以初學者來說,光語法都不是很熟,如何定義問題,以及我們現在該從哪個角度切入,都很難以有脈絡的方式進行,而 AC 顯然已經想到這點,所以做了這些安排(可參考下圖)

在我們成功完成各階段的練習之後,還會有一個「整合分析」的作業,讓我們從思考問題如何分析以及你的數據如何佐證你的推論和回答問題等項目讓我們回答,在寫這些東西的過程中又再次幫助我重新思考解題脈絡,和數據是如何幫助我們驗證假設與得出下一步的前進方向

寫完之後助教也會用心地給予回饋,像是如何呈現內容可以讓閱讀者更加一目了然、撰寫邏輯上是否有可以改進的地方…這些都能讓學員在下一次撰寫時很好的作出調整,最後可以順暢地寫出具專業性和邏輯性的分析報告(可參考下圖)

最後我也順利在這些指導、回饋和自己的努力之下,成功完成 AC 內部出題以及和綠藤生機合作推出的的企業實戰例題,這裡也附上一些我當時做的圖表和數據整理供大家參考:參考資料 01參考資料 02

總結|未來的路還長的很

其實在做實戰題的時候我就有感覺到實務上真的沒那麼容易,除了要能很明確的定義問題並提出合理的假設以外,還必須在有限的時間內往最有可能得出關鍵洞見的方向去做分析。

該如何判斷並下決斷是我相當需要磨練的地方,雖說先前在實習、各專案執行的經驗上能讓我更快的理解題意並提出假設,但我仍知這樣遠遠不夠,若今天沒有教案的引導,我很可能做不出像樣的分析報告。

除此之外,在程式碼的撰寫上,我也經常沒辦法第一時間想出最佳解法,常常需要參考同學或解答上的邏輯,這也讓我感到相當挫折,不過我想這也是學習與成長的一部分。透過參考他人的程式碼,將其內化並以自己的方式寫出來之後,或多或少也可以提升自己的能力,比起不斷卡關最後放棄來說,我認為這個方式仍有其價值存在。

最後想說的是,雖說我這次完整的參與了這堂 14 天 SQL 入門課,但我深知這樣程度還遠不能讓我直接投入實務工作,我在這之後應該會再去挑一門線上課程(也是關於 SQL)的,去進一步了解更多關於實際工作上會需要學習的觀念和語法,若能再考個證照證明相關能力就更好了。未來的路還很長,繼續學習吧!

話說我明天開始要參加 AC 的學期二課程,若有空閒,我也會在一個月後和大家分享課程的心得和我學習的方法,敬請期待!

收到更多巫師札記的內容

總算在今年做出新嘗試啦!目前還是試營運版本的電子報!每個月我至少會寄出一篇關於我當月文章的摘要與重點整理,你可以針對有興趣的主題來閱讀!除此之外,我也會不定期的寫信分享近期的學習點和心得,也希望透過電子報來和大家有更緊密的互動!

只要訂閱巫師札記電子報,我就會免費寄出一份關於「如何提升閱讀效率」的電子書,幫助大家更有系統的吸收與學習書上的知識。日後也會持續分享有意義的內容,請大家多多支持!