CREATE VIEW

本文介绍如何在云数据库ClickHouse中创建普通视图。

创建视图

语法:

CREATE VIEW [IF NOT EXISTS] [db.]view_name [ON CLUSTER cluster] AS SELECT ...

参数说明:

参数

说明

db

数据库的名称,默认为当前选择的数据库,本文以default为例。

view_name

视图名。

[ON CLUSTER cluster]

在每一个节点上都创建一个视图,固定为ON CLUSTER default

SELECT ...

SELECT子句。当数据写入视图中SELECT子句所指定的源表时,插入的数据会通过SELECT子句查询进行转换并将最终结果插入到视图中。

说明

SELECT查询可以包含DISTINCTGROUP BYORDER BYLIMIT等,但是相应的转换是在每个插入数据块上独立执行的。

示例:

  1. 创建SELECT子句指定的源表。

    create table test ON CLUSTER default (
      id Int32,
      name String
    ) ENGINE = MergeTree()
        ORDER BY (id);
  2. 创建基于源表的视图。

    CREATE VIEW test_view ON CLUSTER default AS SELECT * FROM test;
  3. 写入数据至源表。

    insert into test values(1,'a'),(2,'b'),(3,'c');
  4. 查询视图。

    SELECT * FROM test_view;

    查询结果如下。

    id│name
    ─│──
     1│ a
     2│ b 
     3│ c

参考文档

创建视图的更多信息,请参见Create View