无表查询支持在不依赖实际数据库表的情况下,直接执行不包含 FROM 子句的 SQL 查询语句,获取计算结果、常量值或系统信息,主要用于表达式计算、系统函数调用、常量查询等场景。
注意:自 V2.0.11 版本起支持该功能。
SELECT expression [ [ AS ] column_alias ] [, expression [ [ AS ] column_alias ] ]*;
其中:
expression:待计算的表达式,可以是常量、数学函数、字符串函数、日期时间函数、聚合函数,目前支持无参数或只需传入常量参数的函数。
column_alias:可选的结果列别名,用于提升查询结果的可读性。未指定别名时,系统会自动生成 _col0、_col1 等列名。
不支持使用 SELECT *。
执行 SELECT COUNT(*); 时,结果始终为 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| +----------+-------+-----------+--------------+------------------+
查询语句:
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| +-----------+---------+---------+----------+
查询语句:
SELECT NOW() AS now_time;
返回结果:
+-------------+ | now_time| +-------------+ |1784776724555| +-------------+
查询语句:
SELECT AVG(10), SUM(10), COUNT(10), COUNT(*);
返回结果:
+-----+-----+-----+-----+ |_col0|_col1|_col2|_col3| +-----+-----+-----+-----+ | 10.0| 10.0| 1| 1| +-----+-----+-----+-----+