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