WHERE 子句
WHERE
子句允许过滤来自 SELECT
的 FROM 子句的数据。
如果存在 WHERE
子句,它必须包含一个 UInt8
类型的表达式。这个表达式通常使用比较和逻辑运算符。该表达式评估为 0
的行将被排除在进一步的转换或结果之外。
WHERE
表达式的评估依赖于是否能够使用索引和分区裁剪,前提是底层表引擎支持这些功能。
如果你需要测试一个值是否为 NULL,可以使用 IS NULL 和 IS NOT NULL 运算符,或 isNull 和 isNotNull 函数。
否则,即使表达式包含 NULL
,也永远不会通过。
示例
要查找是 3 的倍数且大于 10 的数字,请在 numbers table 上执行以下查询:
结果:
包含 NULL
值的查询:
结果: