无表查询
大约 1 分钟
无表查询
1. 功能概述
无表查询支持在不依赖实际数据库表的情况下,直接执行不包含 FROM 子句的 SQL 查询语句,获取计算结果、常量值或系统信息,主要用于表达式计算、系统函数调用、常量查询等场景。
注意:自 V2.0.11.1 版本起支持该功能。
2. 语法定义
SELECT expression [ [ AS ] column_alias ]
[, expression [ [ AS ] column_alias ] ]*;其中:
expression:待计算的表达式,可以是常量、数学函数、字符串函数、日期时间函数、聚合函数,目前支持无参数或只需传入常量参数的函数。column_alias:可选的结果列别名,用于提升查询结果的可读性。未指定别名时,系统会自动生成_col0、_col1等列名。不支持使用
SELECT *。执行
SELECT COUNT(*);时,结果始终为1。
3. 使用示例
3.1 常量与数学计算
查询语句:
SELECT 100 + 50 AS sum_result,
10 * 5 AS product,
SQRT(144) AS square_root,
ABS(-25) AS absolute_value,
SIN(1) AS sin_value;返回结果:
+----------+-------+-----------+--------------+------------------+
|sum_result|product|square_root|absolute_value| sin_value|
+----------+-------+-----------+--------------+------------------+
| 150| 50| 12.0| 25|0.8414709848078965|
+----------+-------+-----------+--------------+------------------+3.2 字符串函数
查询语句:
SELECT
CONCAT('Hello', ' ', 'World') AS greeting,
UPPER('iotdb') AS uppercase,
LOWER('IOTDB') AS lowercase,
LENGTH('database') AS str_length;返回结果:
+-----------+---------+---------+----------+
| greeting|uppercase|lowercase|str_length|
+-----------+---------+---------+----------+
|Hello World| IOTDB| iotdb| 8|
+-----------+---------+---------+----------+3.3 日期时间函数
查询语句:
SELECT NOW() AS now_time;返回结果:
+-------------+
| now_time|
+-------------+
|1784776724555|
+-------------+3.4 聚合函数
查询语句:
SELECT
AVG(10),
SUM(10),
COUNT(10),
COUNT(*);返回结果:
+-----+-----+-----+-----+
|_col0|_col1|_col2|_col3|
+-----+-----+-----+-----+
| 10.0| 10.0| 1| 1|
+-----+-----+-----+-----+