WHERE
WHERE
子句允许过滤来自SELECT
的子句 FROM 的数据.
如果有一个 WHERE
子句,它必须包含一个表达式与 UInt8
类型。 这通常是一个带有比较和逻辑运算符的表达式。 表达式计算结果为0的行将被排除在在进一步的转换或结果之外。
如果基础表引擎支持,WHERE
表达式会使用索引和分区进行剪枝。
Note
有一个叫做过滤优化 prewhere 的东西.
如果需要测试一个 NULL 值,请使用 IS NULL and IS NOT NULL 运算符或 isNull 和 isNotNull 函数。否则带有 NULL 的表达式永远不会通过。
示例
在 numbers table 表上执行下述语句以找到为3的倍数且大于10的数字: To find numbers that are multiples of 3 and are greater than 10 execute the following query on the :
结果:
带有 NULL
值的查询:
结果: