数据和商业智能术语表

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

什么是谓词?

在 SQL 中,谓词是一种条件表达式,其计算结果为 true 或 false,例如 quantity > 0。在查询中包含谓词,可以通过基于表达式返回 true 或 false 来过滤掉不需要的行,从而缩小查询结果。谓词表达式都包含某种比较元素,例如 =><

在求值时,由此产生的 true 和 false 值被称为布尔值,但并非所有数据库都支持布尔值作为一种数据类型。并非所有数据库都支持相同的谓词列表,特别是超出数学比较的谓词(例如 BETWEENISNULL),因此请查阅您数据库的文档,以确定哪些谓词适用于您的用例。

NULL 值:不是零,只是不存在

虽然谓词通常会计算为两个布尔值(如 true 或 false)之一,但如果被评估的字段完全缺少值,则称为 null。这并不意味着其值为零,而是指该字段中不存在任何值。

如果您的谓词表达式要求 quantity > 0,那么缺少值的行将不会返回 true 或 false,而是返回 null

谓词示例

谓词的一个示例是 SQL SELECT 查询中 WHERE 子句后面的条件,如下所示:

SELECT * from orders
WHERE subtotal > 35

在这种情况下,我们的谓词表达式是 subtotal > 35Orders 表中的每一行在 Subtotal 字段中都有一个值,并且对于每一行,此谓词都会评估 subtotal 是否大于 35。然后,我们的查询将仅返回 subtotal 大于 35 的行。

在 Metabase 的查询生成器中,您在过滤数据时使用谓词。您还可以使用自定义表达式笔记本编辑器中编写自己的谓词。在下面的问题中,我们将对示例数据库中的 People 表进行过滤,以仅显示 State 字段等于 Montana(即 state = MT)的记录。

<em>Fig. 1</em>. A predicate expression (or filter) in Metabase's query builder that will return only records where the <strong>State</strong> field equals Montana (MT).
图 1。 Metabase 查询生成器中的谓词表达式(或过滤器),它将仅返回 State 字段等于 Montana (MT) 的记录。

延伸阅读

这有帮助吗?

感谢您的反馈!
© . This site is unofficial and not affiliated with Metabase, Inc.