AI Engineering Tools

資料分析

SQL 與資料庫分析術語

學習關聯結構、鍵、過濾、連接、分組、聚合、CTE(通用表表达式)和窗口函數,這些都用於分析型 SQL。

12 個術語

關聯模型

表格

Table

意思

一個組織成行和命名列的關係。

使用時機

使用表格來儲存實體、事件、參考資料和分析結果。

應用範例

analytics.orders(order_id, customer_id, amount, ordered_at)

關聯模型

行和列

Row and column

意思

一行代表一個記錄,而一列代表一個具有定義類型的屬性。

使用時機

在查詢之前,確認每一行的粒度和每一列的含義。

應用範例

One row = one order; amount = gross order value.

關聯模型

主鍵

Primary key

意思

一個或多個唯一識別每個表行的列或列集。

使用時機

用於確保唯一性並可靠地連接相關記錄。

應用範例

PRIMARY KEY (order_id)

關聯模型

外鍵

Foreign key

意思

一個或多個引用另一個表中的鍵的列或列集。

使用時機

運用它來表示關係,並保護參考完整性。

應用範例

orders.customer_id REFERENCES customers.customer_id

查詢。

SELECT

SELECT

意思

一個 SQL 語句,用於從數據源中檢索列或計算表達式。

使用時機

僅列出所需的列,以使分析意圖清晰。

應用範例

SELECT order_id, amount FROM orders;

查詢。

WHERE

WHERE

意思

一個子句,在進行分組和彙總之前過濾輸入行。

使用時機

適用於行級別的日期、狀態、區域或品質條件。

應用範例

WHERE ordered_at >= DATE '2026-01-01'

查詢。

JOIN

JOIN

意思

一個將來自多個表的行組合的操作,使用匹配條件。

使用時機

根據是否需要保留未匹配的行,選擇內部或外部連接。

注意

在連接之前,檢查關鍵的唯一性,以避免意外的行複製。

應用範例

FROM orders o LEFT JOIN customers c ON c.customer_id = o.customer_id

聚合

`GROUP BY`

GROUP BY

意思

一個子句,將共享選定值的行組合到組中,以便進行彙總。

使用時機

運用它來根據日期、產品、區域或其他維度來總結數據。

應用範例

`GROUP BY order_date, region`

聚合

聚合函數

Aggregate function

意思

一個函數,它從多個輸入行生成一個摘要值。

使用時機

根據指標定義,使用 COUNT、SUM、AVG、MIN 和 MAX。

應用範例

SELECT region, SUM(amount) AS revenue FROM orders GROUP BY region;

聚合

HAVING

HAVING

意思

一個子句,在彙總計算之後過濾組。

使用時機

適用於基於彙總結果而不是原始行的條件。

應用範例

HAVING COUNT(*) >= 100

高級分析

常見表表達式 (CTE)

Common table expression (CTE)

意思

一個使用 WITH 引入的命名臨時查詢結果,用於在更大的語句中使用。

使用時機

運用它來組織多步驟的轉換,並提高可讀性。

應用範例

WITH monthly_sales AS (...) SELECT * FROM monthly_sales;

高級分析

視窗函數

Window function

意思

一個函數,它在相關行中計算,同時保留個別結果行。

使用時機

適用於排名、累計總和、移動平均值和先前期間的比較。

應用範例

SUM(amount) OVER (PARTITION BY customer_id ORDER BY ordered_at)