FROM
子句表示从何处读取数据,目前支持如下 3
种形式:
- 从数据表中取数:
$ SELECT WatchID FROM hits_v1;点击复制复制失败已复制
- 从子查询中取数:
$ SELECT MAX_WatchID FROM (SELECT MAX(WatchID) AS MAX_WatchID FROM hits_v1);点击复制复制失败已复制
- 从函数中取数:
$ SELECT number FROM number(5)点击复制复制失败已复制
FROM
关键字可以省略,此时会从虚拟表中取数。在 ClickHous
e中,并没有数据库中常见的 DUAL
虚拟表,取而代之的是 system.one
。例如下面的两条查询语句,其效果是等价的:
$ SELECT 1; $ SELECT 1 FROM system.one; ┌─1─┐ │ 1 │ └───┘点击复制复制失败已复制
在 FROM
子句后,可以使用 Final
修饰符。它可以配合 CollapsingMergeTree
和 VersionedCollapsingMergeTree
等表引擎进行查询操作,以强制在查询过程中合并,但由于 Final
修饰符会降低查询性能,所以应该尽可能避免使用它。