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