腾讯云数据仓库 TCHouse-X WHERE

WHERE 子句用于根据提供的谓词过滤 FROM 子句的结果。支持比较运算符、逻辑运算符、IS [NOT] NULL、LIKE、BETWEEN、IN 等谓词。

相关产品
腾讯云数据仓库 TCHouse-X 产品页,含版本规格、价格与购买入口。

一、描述

谓词类别 常用形式 说明
比较运算符 =、<> / !=、<、<=、>、>= 对两个表达式按数值/字符串/日期等大小关系进行比较,返回布尔值
逻辑运算符 AND、OR、NOT 组合或取反多个布尔条件,遵循 NOT > AND > OR 的优先级,可用括号显式分组
IS [NOT] NULL col IS NULL / col IS NOT NULL 判断列值是否为 NULL;NULL 不能用 = 或 <> 比较,必须使用本谓词
LIKE col [NOT] LIKE 'pattern' 按模式匹配字符串,% 匹配任意长度字符,_ 匹配单个字符
BETWEEN col [NOT] BETWEEN a AND b 判断值是否落在闭区间 [a, b] 内,等价于 col >= a AND col <= b
IN col [NOT] IN (v1, v2, …) 或 IN (subquery) 判断值是否属于给定值列表或子查询结果集,等价于多个 OR 条件的简写

二、语法

WHERE boolean_expression

三、参数

子句/关键字 说明
boolean_expression 指定任何计算结果为布尔类型的表达式。可以使用逻辑运算符(AND、OR)组合两个或多个表达式

四、示例

— WHERE > (比较)SELECT * FROM VALUES (1,'a'),(2,'b'),(3,'c') AS t(id,name) WHERE id > 1– WHERE IS NOT NULLSELECT * FROM VALUES (1,'a'),(2,NULL),(3,'c') AS t(id,name) WHERE name IS NOT NULL– WHERE LIKESELECT * FROM VALUES (1,'Alice'),(2,'Bob') AS t(id,name) WHERE name LIKE 'A%'– WHERE BETWEEN SELECT * FROM VALUES (1,10),(2,20),(3,30) AS t(id,val) WHERE val BETWEEN 10 AND 20– WHERE INSELECT * FROM VALUES (1),(2),(3),(4) AS t(id) WHERE id IN (1, 3)

赞 (0)
上一篇 4天前
下一篇 4天前