谓词
什么是谓词?
在 SQL 中,谓词是一种条件表达式,其结果为真或假,例如 quantity > 0
。在查询中包含谓词可以缩小结果,通过过滤掉不想要的行来根据该表达式返回真或假。谓词表达式都包含某种比较元素,如 =
、>
或 <
。
当评估时,产生的真和假值被称为 布尔值,尽管并非所有数据库都支持布尔值作为 数据类型。并非所有数据库都支持相同的谓词列表,特别是数学比较之外(如 BETWEEN
或 ISNULL
)的谓词,因此请查看数据库文档以确定哪些谓词适用于您的用例。
空值:非零,只是不存在
虽然谓词通常评估为两个布尔值之一(如真或假),但如果正在评估的字段完全缺乏值,则称为 null
。这并不意味着其值为零,而是表示该字段中不存在任何值。
如果您的谓词表达式要求 数量 > 0
,则没有值的行将不会返回 true 或 false,而是返回 null
。
示例谓词
谓词的一个示例是简单 SQL 查询中的 WHERE
后面的条件,如下所示
SELECT * from orders
WHERE subtotal > 35
在这种情况下,我们的谓词表达式是 subtotal > 35
。在 Orders
表中的每一行都有一个 Subtotal
字段中的值,并且对于每一行,这个谓词都会评估该行的小计是否大于 35 美元。从那里,我们的查询将只返回小计大于 35 美元的行。
在 Metabase 的 查询构建器 中,当您 过滤 数据时使用谓词。您还可以在 笔记本编辑器 中使用 自定义表达式 编写自己的谓词。在下面的查询中,我们正在过滤 示例数据库 中的 People
表,只显示 State
字段等于蒙大拿州(MT)的记录