SQL 總結與記憶建議大全 -實用整理
聽說過 SQL 很重要,但一看到語法就頭痛?
整理出常用的 40 個 SQL 語法與概念,從查資料、過濾、分組、排序到 JOIN 與子查詢通通都有,還附上記憶小訣竅,就像你腦海裡的 SQL 小抄!
🌱 Part 1:SQL 最常用語法記憶法(查資料一定會用)
- SELECT
說明:查欄位、挑資料 小記法:「點菜單」,我只要這幾樣! - FROM
說明:資料從哪張表格來 小記法:從哪個「餐廳廚房」拿資料 - WHERE
說明:設定條件過濾 小記法:有這些「特徵」的人才要 - ORDER BY
說明:排序(ASC升、DESC降) 小記法:排身高、分數、價格都靠它 - LIMIT
說明:顯示前幾筆 小記法:我只要前 3 名 - OFFSET
說明:跳過幾筆資料 小記法:從第 11 筆開始看 - DISTINCT
說明:去重複值 小記法:只想知道有哪些城市,不重複 - AS
說明:改名字、取別名 小記法:幫資料欄換個「綽號」更清楚
🍱 Part 2:分組、聚合、條件判斷(資料彙整必學)
- GROUP BY
說明:分組統計(常配合聚合函數) 小記法:班級、國家分組算人數 - COUNT()
說明:計算有幾筆資料 小記法:數有幾人點餐 - SUM()
說明:加總某欄位 小記法:算總金額 - AVG()
說明:計算平均值 小記法:算平均分數 - MAX() / MIN()
說明:最大最小值 小記法:最高分、最低價 - HAVING
說明:篩選分組後的結果(對比 WHERE) 小記法:WHERE 是挑人,HAVING 是挑團體 - CASE WHEN
說明:條件分類顯示 小記法:if/else:>=60 就「及格」 - IS NULL
說明:檢查欄位是否為空 小記法:看這格有沒有填東西 - IS NOT NULL
說明:查有填資料的 小記法:有填 email 的人才寄信
🤝 Part 3:關聯、多表操作與子查詢(中高階必備)
- JOIN
說明:合併兩張表格的資料 小記法:兩張表握手合作 - INNER JOIN
說明:雙方都有資料才合併 小記法:你有我有才湊對 - LEFT JOIN
說明:以左邊為主,右邊沒對到也保留 小記法:主角是左邊,右邊沒資料補 NULL - RIGHT JOIN
說明:以右邊為主,左邊沒對到也保留 小記法:和 LEFT JOIN 顛倒版本 - FULL JOIN
說明:雙方都保留,沒配對補 NULL 小記法:所有人的資料都要,不遺漏 - UNION
說明:合併兩筆查詢結果(自動去重) 小記法:資料上下排隊,但不重複 - UNION ALL
說明:合併兩筆查詢結果(保留重複) 小記法:同上但連重複的也一起放 - IN
說明:是否「在清單裡」 小記法:他是不是在名單上? - EXISTS
說明:子查詢是否有結果(效能佳) 小記法:這種人有沒有存在? - SUBQUERY(子查詢)
說明:查中查,結果嵌在查詢裡 小記法:SQL 裡的「小盒子」查詢
🧠 補充觀念記憶差異整理表
- WHERE vs HAVING
差異:WHERE 是對資料本身、HAVING 是對分組後的結果 小技巧:先挑人 → 再挑團體 - JOIN vs UNION
差異:JOIN 是橫向合併、UNION 是縱向合併 小技巧:JOIN → 結婚;UNION → 堆資料 - IN vs EXISTS
差異:IN 適合小量名單、EXISTS 適合查有無 小技巧:IN → 看名單;EXISTS → 問有沒有這回事