資料與商業智慧詞彙表

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
W
X

SQL

亦稱為

結構化查詢語言

什麼是 SQL?

結構化查詢語言(稱為 SQL)是一種標準化且廣泛使用的語言,用於存取和操作關聯式資料庫中的資料。使用 SQL 涉及編寫和執行結構化指令(稱為語句),這些指令會向資料庫傳達您需要的資訊或您想要變更的內容。

SQL 是已發布的 ANSI 和 ISO 標準,表示對於該語言包含的內容及其運作方式有既定的規則。但是,基於 SQL 的資料庫系統(如 PostgreSQL、MySQL、SQL Server 等)各自具有略微不同的功能和自己的語法怪癖 — 沒有主要資料庫 100% 符合官方書面標準。

使用 SQL,您可以

  • 建立和配置資料庫、表格和索引
  • 在資料庫中插入、更新和刪除資訊
  • 從資料庫中檢索資訊(通常稱為查詢)
  • 設定和調整資料庫權限

發音是「S.Q.L.」還是「sequel」?

對於發音問題,意見分歧,其中一些意見非常強烈。當電腦科學家 Donald Chamberlin 和 Raymond Boyce 在 1970 年代初期首次開發語言規範時,他們將其稱為「SEQUEL」(發音為「sequel」),但由於面臨商標糾紛,將語言名稱更改為 SQL。ANSI 和 ISO 標準規定官方發音是首字母縮略詞(「S.Q.L.」),但今天兩種發音都很常見。

所以選擇您認為最適合的發音 — 只是當有人不同意您的發音時,請不要感到驚訝。

使用 SQL 查詢資料庫

無論多麼高級或複雜,所有 SQL 查詢都涉及告訴資料庫從表格(或多個表格)傳回特定欄位,然後選擇性地指定關於哪些列應包含在這些結果中以及它們應如何呈現的條件。

SQL 不區分大小寫,但您經常會看到人們將保留字大寫(例如,函數和子句,如 SELECTWHEREHAVINGORDER BY)。您可以將 SQL 語句格式化為單行(如果您願意),但人們通常會將其查詢分成多行以提高可讀性。

SQL 查詢範例

以下是一個 SQL 查詢,要求 Metabase 的範例資料庫傳回一個訂單表格,其中訂單小計大於 $100

SELECT
    *
FROM
    orders
WHERE
    subtotal > 100

我們可以將此查詢分解為三個語句

  1. SELECT * 告訴資料庫傳回表格中的每個欄位
  2. FROM orders 告訴資料庫這是哪個表格。
  3. WHERE subtotal > 100 告訴資料庫篩選結果,並且僅傳回 Subtotal 欄位中的值大於 100 的

上面的範例查詢是一個非常簡單的查詢;更高級的查詢可以包含聯結彙總CTE 和其他用於提取和組織資料的工具。

Metabase 中的 SQL

在 Metabase 中提出問題時,您不必編寫 SQL(這就是查詢產生器的用途),但如果您偏好 SQL 查詢,則原生查詢編輯器就在那裡為您服務,以及以下功能:

如果您確實選擇使用查詢產生器在 Metabase 中提出問題,您可以隨時查看支援您的問題的底層 SQL,或將其轉換為原生 SQL 查詢。

重點文章

相關術語

延伸閱讀