本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
WHERE 子句
WHERE 子句提取满足指定条件的记录。条件可以是数字或字符串比较,也可以使用 BETWEEN、LIKE 或 IN 运算符:请参见串流 SQL 操作符。可以使用 AND、OR 和 NOT 等逻辑运算符组合条件。
对 WHERE 子HAVING 子句句求值。它适用于组,即 WHERE 子句的结果是单个原始行,而 HAVING 子句的结果表示原始行的分组或聚合。
WHERE 和 HAVING 都可以出现在单个 SELECT 语句中。WHERE 从流或表中选择满足其条件(WHERE条件)的单个行。GROUP BY 标准仅适用于由 WHERE 条件选择的行。这样的分组,例如 “GROUP BY cCustomerID”,可以通过 Having-Condition 进一步限定,然后在指定分组中选择满足其条件的行的聚合。例如,“GROUP BY clientID HAVING SUM (ShipmentValue) > 3600” 将仅选择那些其各种发货量符合 WHERE 标准的值加起来也超过 3600 的客户。
要查看此子句在 SELECT 语句中的位置,请参见SELECT。
条件必须是布尔谓词表达式。查询仅返回谓词计算结果为 TRUE 的行;如果条件的计算结果为 NULL,则不会发出该行。
WHERE 子句中的条件不能包含窗口聚合表达式,因为如果 where 子句条件导致行被删除,它会改变窗口的内容。
主题加入条款和本指南中还讨论了 WHAVING 子句 HERE。