更新於 2023/10/10閱讀時間約 3 分鐘

自學筆記(SQL篇)

準備轉職期間,為了能更接近數據分析的領域,首先決定要進修的領域是程式語言。在大致研究幾種語言,以及跟資工領域的朋友請教後,先從門檻相對不高的SQL(Structured Query Language,結構化查詢語言)開始。
我在Hahow上選了一門兼具概念理解、實作練習的課程,並間接得知還有kaggle這類的數據分析平台,除了議題討論,也有相關的程式語言教學可用。無論付費與否,趁現在最有空檔的時候,重拾學生時期的意志力,能多學一點是一點,好好地把新東西學起來💪🏻
最近有些課程上到一個段落了,趁記憶猶新的時候,分享一下我的學習心得。

就像試算表,只是更original
如果你使用過Microsoft Office中的Excel、Google的試算表,相信對排序、篩選、使用函數等功能不陌生。在學習SQL時,也不脫離這些項目。因為SQL主要應用在表格類型的資料,當中有些程式、函數就剛好對應到這些功能——只是你需要透過SQL寫出來,而不是按幾個功能鍵就好。
比如說,你想從哪個工作頁分析資料,就要用FROM來指定。想要顯示哪些欄位,必須用SELECT寫明。需要篩選出符合特定條件的儲存格資料,WHERE能幫你一把。如果希望資料照數值、字母排序,ORDER BY肯定少不了。
一開始要從什麼都用功能鍵打包好,轉移到必須寫程式才能呼叫出功能的狀態,有點不太習慣,不過課上久了之後,就能把這些功能跟對應的程式連結,只要再熟悉SQL撰寫的架構,就能在想要某個功能時,直接寫出對應的程式了。
而且,可能因為少了功能鍵打包的限制,所有功能都靠SQL組合出來,因此對表的操作有更多變化。像是將資料分類的GROUP BY,搭配運算類的SUM、AVG、COUNT函數,就能彙整出同一分類的條件下,對應的數值運算結果為何,速度上感覺比EXCEL更快速。
也許哪天我會把試算表的資料都轉成csv,繼續嘗試看看SQL有多威😆

沒想到編輯會注意的排版、標點,在這裡也同樣重視
程式語言看似是用英文寫成的,所以按照英文寫作的基本原則去寫,應該就沒問題了?程式語言能從語言領域自成一格,肯定來頭沒這麼小。
首先,在不同單字之間,有時是空格,有時是底線;如果寫的是呼叫功能的程式或函數,通常會是前者,而用多個單字指涉一個目標、物件時,八成是後者。
因此,除了要清楚現在寫的是程式還是物件之外,最好取名時不要用跟內建保留字一樣的單字,可以避開不少問題——無論對人還是電腦來說😅
還有更多標點符號,在SQL(或其他的程式語言)有意想不到的用途。像是「''」或「""」表示TEXT格式的資料,就像EXCEL中同樣的123,可能是數值,也可能是文字,在SQL就是用這個標點符號區隔。而「%」在數值運算中,表示取整數除法中的餘數,但寫在「''」裡面就變成了萬用文字符,比如「'%ING'」只的就是「任何字尾是ING的TEXT」。
說到排版,在我初學SQL時覺得有些驚訝:原來寫程式有「寫作風格」的差異!在程式語言,除了設計當下制定的規矩外,其他只要不引響電腦判讀,想在哪邊大寫、換行、對齊,都可以隨寫作者自行決定。在我學的課程中,講師就介紹了至少兩種不同的SQL寫作風格,裡面就會提到「應該在哪邊縮排對齊」、「什麼時候應該要用大寫」的細則。
不過,程式語言的編輯器沒有尺規,所以想要對齊寫的文字,只能透過空白或tab。好在程式語言都是英文,不會有全半形的問題😆

除了SQL之外,我目前也在自學Python,是個眉角更多的另一種語言。等到這也學習到一個段落後,再來整理心得分享🤓
※20230716更新《自學筆記(Python篇)》,歡迎前往~

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.