述詞
什麼是述詞?
在 SQL 中,述詞是一種條件運算式,其評估結果為真或假,例如 quantity > 0
。在查詢中加入述詞,會根據該運算式傳回真或假來篩選掉不需要的列,藉此縮小結果範圍。述詞運算式都包含某種比較元素,例如 =
、>
或 <
。
評估後產生的真值和假值稱為布林值,但並非所有資料庫都支援布林值作為資料類型。並非所有資料庫都支援相同的述詞清單,尤其是數學比較以外的述詞(例如 BETWEEN
或 ISNULL
),因此請查看您的資料庫文件,以確定哪些述詞適用於您的使用案例。
空值:不是零,只是不存在
雖然述詞通常評估為兩個布林值之一(例如真或假),但如果被評估的欄位完全沒有值,則稱為 null
。這並不表示其值為零,而是表示該欄位中沒有值。
如果您的述詞運算式要求 quantity > 0
,則沒有值的列不會傳回真或假,而是會傳回 null
。
述詞範例
述詞範例是簡單 SQL SELECT
查詢中 WHERE
後面的條件,如下所示
SELECT * from orders
WHERE subtotal > 35
在本例中,我們的述詞運算式為 subtotal > 35
。Orders
表格中的每一列在 Subtotal
欄位中都有一個值,而對於每一列,此述詞會評估小計是否大於 $35。從那裡,我們的查詢只會傳回小計大於 $35 的列。
在 Metabase 的查詢產生器中,您可以在篩選資料時使用述詞。您也可以在筆記本編輯器中使用自訂表達式來撰寫自己的述詞。在下面的問題中,我們正在範例資料庫中篩選 People
表格,只顯示 State
欄位等於 Montana 的記錄,或 state = MT
