WHERE 子句 - Amazon Kinesis Data Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

WHERE 子句

WHERE 子句用于提取符合指定条件的记录。条件可以是数值或字符串比较,也可以使用 BETWEEN、LIKE 或 IN 运算符:请参阅流式 SQL 运算符。可以使用逻辑运算符(如 AND、OR 和 NOT)对这些条件进行组合。

WHERE 子句与 HAVING 子句 子句相似。它适用于组,也就是说,来自 WHERE 子句的结果为单个原始行,而来自 HAVING 子句的结果表示原始行的分组或聚合。

WHERE 和 HAVING 可同时在一个 SELECT 语句中出现。WHERE 从流或表中选择满足其条件 (WHERE 条件) 的单个行。GROUP BY 条件仅适用于通过 WHERE 条件选择的行。此类分组 (例如“GROUP BY CustomerID”) 可由 HAVING 条件进一步限定,分组随后将在指定分组中选择满足其条件的行的聚合。例如,“GROUP BY ClientID HAVING SUM(ShipmentValue) > 3600”将仅选择这样的客户:其各个货物均符合 WHERE 条件且货物总价值超过 3600。

要了解此子句的什么部分适合 SELECT 语句,请参阅 SELECT 语句

条件必须是一个布尔谓词表达式。查询将仅返回其谓词的计算结果为 TRUE 的行;如果条件的计算结果为 NULL,则不会发出行。

WHERE 子句中的条件不能包含窗口化聚合表达式,因为如果要删除 where 子句条件生成的行,该条件将改变窗口的内容。

本指南中的主题 JOIN 子句HAVING 子句也对 WHERE 进行了讨论。