學習成長

2023.12.08 | 1969次觀看

為了更接近數據分析:自學SQL過來人的2大心得分享

自學SQL的線上資源豐富,建議使用網上教學平台、教學網站,並實際應用於項目中。閱讀相應數據庫系統文檔可深化理解。對職場的幫助在於提高數據處理能力、增加競爭力,特別適用於數據相關職位。掌握SQL有助於理解和操作數據庫,涉足多個行業,是通用技能之一,有助於提升在職場的價值。

文/Mineko 

前言

本文會告訴大家:

準備轉職期間,為了能更接近數據分析的領域,首先決定要進修的領域是程式語言。在大致研究幾種語言,以及跟資工領域的朋友請教後,先從門檻相對不高的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篇)


有關SQL線上課程,小編整理推薦如下表,提供大家可更快找適合的學習

課程名稱開課單位瀏覽次數
SQL語法入門保證班緯育TibaMe15,000up瀏覽
快速活用 MySQL
精準設計關聯式資料庫
緯育TibaMe3,000up瀏覽

小編也整理了SQL相關書籍與貼文學習分享喔