SQL 教程

本 SQL 教程透過清晰的概念、動手例項和互動測驗,幫助您快速有效地掌握 SQL。

無論您是軟體開發人員、資料庫管理員、資料分析師還是資料科學家,本 SQL 教程都將幫助您釋放 SQL 在管理和分析資料方面的強大能力。

SQL(Structured Query Language,結構化查詢語言)是關係型資料庫管理系統 (RDBMS) 中進行資料互動的標準語言。

現在就和我一起開始您的 SQL 之旅,自信地掌握處理資料的技能吧!

第 1 節. SQL 簡介 #

第 2 節. 查詢資料 #

  • SELECT – 從表中檢索資料。

第 3 節. 排序行 #

第 4 節. 限制行 #

  • DISTINCT  – 從結果集中檢索唯一值。
  • LIMIT – 限制查詢返回的行數。
  • FETCH – 在開始返回任何行之前,跳過結果集中的 N 行。

第 5 節. 篩選行 #

第 6 節. 連線多個表 #

  • INNER JOIN – 根據條件合併兩個表中的行,並只返回兩個表中匹配的行。
  • LEFT JOIN – 返回左表中的所有行以及右表中的匹配行;如果沒有匹配行,則右表的列使用 NULL。
  • RIGHT JOIN – 返回右表中的所有行以及左表中的匹配行;如果沒有匹配行,則左表的列使用 NULL。
  • FULL OUTER JOIN – 連線多個表,包含兩個表中的所有行,無論這些行在另一個表中是否有匹配行。
  • CROSS JOIN – 返回一個結果集,該結果集將第一個表中的每一行與第二個表中的每一行組合起來。
  • SELF JOIN – 根據相關列將同一表中的行進行組合。

第 7 節. 分組行 #

  • GROUP BY– 將行排列成組,並對每個組應用聚合函式。
  • HAVING – 根據條件篩選行組。
  • GROUPING SETS – 在單個查詢中定義多個分組。
  • ROLLUP – 考慮輸入列的層次結構,生成多個分組集。
  • CUBE – 為查詢中的一組列生成小計和總計,並能夠建立所有可能的分組組合。

第 8 節. 集合運算子 #

  • UNION – 將兩個或多個查詢的結果集合併為單個結果集。
  • INTERSECT  – 返回兩個結果集之間的共同行。
  • MINUS – 返回一個結果集中未出現在另一個結果集中的唯一行。

第 9 節. 操作表 #

  • CREATE TABLE – 在資料庫中建立一個新表。
  • PRIMARY KEY –  為表定義主鍵。
  • NOT NULL  – 確保插入或更新到列中的值不為 NULL。
  • DROP TABLE – 從資料庫中刪除一個表。
  • 向表中新增新列 – 向現有表中新增一個新列。
  • 刪除列 – 從表中刪除一個列。
  • FOREIGN KEY – 定義外部索引鍵約束。
  • UNIQUE – 確保一列或一組列中值的唯一性。
  • CHECK – 在將資料儲存到一個或多個列之前,根據布林表示式驗證資料。
  • ALTER TABLE – 修改現有表的結構。

第 10 節. 修改資料 #

  • INSERT – 向表中插入一行或多行。
  • UPDATE – 更新表中的現有資料。
  • DELETE – 從表中永久刪除資料。
  • TRUNCATE TABLE – 快速有效地刪除大表中的所有資料。

第 11 節. 檢視與觸發器 #

  • 檢視 – 在資料庫中建立檢視。
  • 觸發器 – 建立一個與表關聯的觸發器,並自動響應表中發生的事件。

第 12 節. 條件表示式與函式 #

  • CASE 表示式 – 向 SQL 語句中新增 if-else 邏輯。
  • COALESCE – 返回一組值中的第一個非空值。
  • NULLIF – 比較兩個引數,如果它們相等則返回 NULL,否則返回第一個引數。

第 13 節. 聚合函式 #

  • 聚合函式 – 為一組值返回一個值,如最小值、最大值、平均值、總和和計數。
  • AVG – 返回一組值的平均值。
  • COUNT – 返回一組中專案的數量。
  • SUM – 返回一組中所有或不同專案的總和。
  • MAX – 返回一組中的最大值。
  • MIN – 返回一組中的最小值。

第 14 節. 子查詢 #

  • 子查詢 – 在另一個查詢中建立查詢,為外部查詢提供結果集。
  • 相關子查詢 – 構建一個使用外部查詢值的子查詢。
  • EXISTS – 如果子查詢包含任何行,則返回 true。
  • ALL – 將一個值與一組值進行比較,如果對於集合中的每個值比較都為 true,則返回 true。
  • ANY – 將一個值與一組值進行比較,如果對於集合中至少一個值比較為 true,則返回 true。
© .