概览
2025年1月3日大约 2 分钟
概览
1 语法概览
SELECT ⟨select_list⟩
FROM ⟨tables⟩
[WHERE ⟨condition⟩]
[GROUP BY ⟨groups⟩]
[HAVING ⟨group_filter⟩]
[FILL ⟨fill_methods⟩]
[ORDER BY ⟨order_expression⟩]
[OFFSET ⟨n⟩]
[LIMIT ⟨n⟩];
IoTDB 查询语法提供以下子句:
- SELECT 子句:查询结果应包含的列。详细语法见:SELECT子句
- FROM 子句:指出查询的数据源,可以是单个表、多个通过
JOIN
子句连接的表,或者是一个子查询。详细语法见:FROM & JOIN 子句 - WHERE 子句:用于过滤数据,只选择满足特定条件的数据行。这个子句在逻辑上紧跟在 FROM 子句之后执行。详细语法见:WHERE 子句
- GROUP BY 子句:当需要对数据进行聚合时使用,指定了用于分组的列。详细语法见:GROUP BY 子句
- HAVING 子句:在 GROUP BY 子句之后使用,用于对已经分组的数据进行过滤。与 WHERE 子句类似,但 HAVING 子句在分组后执行。详细语法见:HAVING 子句
- FILL 子句:用于处理查询结果中的空值,用户可以使用 FILL 子句来指定数据缺失时的填充模式(如前一个非空值或线性插值)来填充 null 值,以便于数据可视化和分析。 详细语法见:FILL 子句
- ORDER BY 子句:对查询结果进行排序,可以指定升序(ASC)或降序(DESC),以及 NULL 值的处理方式(NULLS FIRST 或 NULLS LAST)。详细语法见:ORDER BY 子句
- OFFSET 子句:用于指定查询结果的起始位置,即跳过前 OFFSET 行。与 LIMIT 子句配合使用。详细语法见:LIMIT 和 OFFSET 子句
- LIMIT 子句:限制查询结果的行数,通常与 OFFSET 子句一起使用以实现分页功能。详细语法见:LIMIT 和 OFFSET 子句
2 子句执行顺序
- FROM(表名)
- WHERE(条件过滤)
- SELECT(列名/表达式)
- GROUP BY (分组)
- HAVING(分组后的条件过滤)
- FILL(空值填充)
- ORDER BY(排序)
- OFFSET(偏移量)
- LIMIT(限制数量)