SQL 教學

本 SQL 教學透過許多實務範例,幫助您快速有效地開始學習 SQL。

如果您是想使用 SQL 分析資料的軟體開發人員、資料庫管理員、資料分析師或資料科學家,本教學將會是個很好的起點。

每個主題都以清晰簡潔的方式涵蓋,並提供許多實務範例,幫助您真正理解概念,並將其應用於更有效地解決資料挑戰。

SQL 代表 Structured Query Language (結構化查詢語言),旨在操作關聯式資料庫管理系統 (RDBMS) 中的資料。

如今,SQL 是用於與資料互動最常見的程式語言之一。

第一節:SQL 簡介

第二節:查詢資料

  • SELECT 語句 – 示範如何使用最簡單的 SELECT 語句從單一表格查詢資料。

第三節:排序資料

  • ORDER BY 子句 – 依一或多個欄位以遞增和/或遞減順序排序資料。

第四節:篩選資料

  • DISTINCT – 示範如何從結果集中移除重複項目。
  • LIMIT – 使用 LIMIT 和 OFFSET 子句限制查詢傳回的列數。
  • FETCH – 學習如何在開始傳回任何列之前,跳過結果集中的 N 列。
  • WHERE 子句 – 根據指定的條件篩選資料。
  • 比較運算子 – 學習如何使用比較運算子,包括大於、大於或等於、小於、小於或等於、等於和不等於,以在 WHERE 子句中形成條件。
  • 邏輯運算子 – 介紹邏輯運算子以及如何使用它們來測試條件的真假。
  • AND 運算子 – 使用 AND 邏輯運算子組合多個布林運算式。
  • OR 運算子 – 示範如何使用另一個邏輯運算子 OR 來組合多個布林運算式。
  • BETWEEN 運算子 – 引導您使用 BETWEEN 運算子來選取一定範圍值內的資料。
  • IN 運算子 – 示範如何使用 IN 運算子來檢查某個值是否在值清單中。
  • LIKE 運算子 – 根據指定的模式查詢資料。
  • IS NULL 運算子 – 介紹 NULL 的概念,並示範如何檢查運算式是否為 NULL。
  • NOT 運算子 – 示範如何使用 NOT 運算子來否定布林運算式。

第五節:條件運算式

第六節:聯結多個表格

  • SQL 別名 – 使您的查詢更簡短且更易於理解。
  • INNER JOIN – 向您介紹聯結概念,並示範如何使用 INNER JOIN 子句來組合多個表格中的資料。
  • LEFT OUTER JOIN – 為您提供另一種聯結方式,允許您組合多個表格中的資料。
  • FULL OUTER JOIN – 聯結多個表格,無論這些列是否與另一個表格中的列匹配,都包含兩個表格中的列。
  • CROSS JOIN – 使用交叉聯結運算產生聯結表格的列的笛卡爾積。
  • SELF JOIN – 使用內部聯結或左聯結子句將表格聯結到自身。

第七節:聚合函數

  • 聚合函數 – 向您介紹 SQL 中最常用的聚合函數,包括 AVG、COUNT、SUM、MAX 和 MIN。
  • AVG – 計算集合的平均值。
  • COUNT – 傳回集合中的項目數。
  • SUM – 傳回集合中所有或相異項目的總和。
  • MAX – 找出集合中的最大值。
  • MIN – 找出集合中的最小值。

第八節:分組資料

  • GROUP BY– 將列組合成分組,並對每個分組應用聚合函數。
  • HAVING – 指定用於篩選由 GROUP BY 子句匯總的分組的條件。
  • GROUPING SETS – 產生多個分組集合。
  • ROLLUP – 產生多個分組集合,並考慮輸入欄位的階層。
  • CUBE – 產生輸入欄位所有可能組合的多個分組集合。

第九節:集合運算子

  • UNION 和 UNION ALL – 使用 UNION 和 UNION ALL 運算子,將兩個或多個查詢的結果集合併為單一結果集。
  • INTERSECT – 使用 INTERSECT 運算子傳回兩個或多個查詢的交集。
  • MINUS – 使用 MINUS 運算子從另一個結果集減去結果集。

第十節:子查詢

  • 子查詢 – 示範如何將查詢巢狀於另一個查詢內,以形成更靈活的查詢來查詢資料。
  • 關聯子查詢 – 向您介紹關聯子查詢,它是一種使用外部查詢中值的子查詢。
  • EXISTS – 示範如何檢查從子查詢傳回的列是否存在。
  • ALL – 說明如何透過將表格欄位中的值與一組欄位進行比較來查詢資料。
  • ANY – 如果表格欄位中的值與集合中的其中一個值匹配,則查詢資料。

第十一節:修改資料

  • INSERT – 將一或多列插入表格。
  • UPDATE – 更新表格中的現有資料。
  • DELETE – 從表格中永久刪除資料。

第十二節:處理表格結構

第十三節:約束

  • PRIMARY KEY – 示範如何為表格定義主鍵。
  • FOREIGN KEY – 引導您完成使用外鍵約束強制執行兩個表格中資料之間關聯性的步驟。
  • UNIQUE – 確保欄位或一組欄位中值的唯一性。
  • NOT NULL – 確保插入或更新到欄位的值不為 NULL。
  • CHECK – 根據布林運算式,在資料儲存到一或多個欄位之前驗證資料。