CREATE VIEW

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

基于 SQL 查询的结果集构造没有物理数据的虚拟表。 ALTER VIEWDROP VIEW 仅更改元数据。

语法

CREATE [ OR REPLACE ] [ TEMPORARY ] VIEW [ IF NOT EXISTS ] view_name
    [ column_list ]
    [ COMMENT view_comment ]
    [ TBLPROPERTIES clause ]
    AS query

column_list
   ( { column_alias [ COMMENT column_comment ] } [, ...] )

参数

  • OR REPLACE

    如果已存在具有相同名称的视图,则会替换该视图。 若要替换现有视图,你必须是其所有者。

    替换现有视图不会保留对原始视图授予的特权。 使用 ALTER VIEW 来保留特权。

  • TEMPORARY

    TEMPORARY 视图仅对创建它们的会话可见,并在会话结束后被删除。

  • GLOBAL TEMPORARY

    适用于:check marked yes Databricks Runtime

    全局临时视图与系统保留的临时架构 global_temp 关联。

  • IF NOT EXISTS

    仅在该视图不存在时创建它。 如果已存在具有此名称的视图,则忽略 CREATE VIEW 语句。

    最多可以指定 IF NOT EXISTSOR REPLACE 中的一项。

  • view_name

    新创建的视图的名称。 不能限定临时视图的名称。 完全限定的视图名称必须是独一无二的。

  • column_list

    (可选)在视图的查询结果中标记列。 如果提供列列表,则列别名的数量必须与查询中的表达式数量一致。 如果未指定列列表,则别名派生自视图主体。

    • column_alias

      列别名必须是唯一的。

    • column_comment

      描述列别名的可选字符串字面量。

  • view_comment

    提供视图级别注释的可选字符串字面量。

  • TBLPROPERTIES

    可以选择设置一个或多个用户定义的属性。

  • AS 查询

    从基表或其他视图中构造视图的查询。

示例

-- Create or replace view for `experienced_employee` with comments.
> CREATE OR REPLACE VIEW experienced_employee
    (id COMMENT 'Unique identification number', Name)
    COMMENT 'View for experienced employees'
    AS SELECT id, name
         FROM all_employee
        WHERE working_years > 5;

-- Create a temporary view `subscribed_movies`.
> CREATE TEMPORARY VIEW subscribed_movies
    AS SELECT mo.member_id, mb.full_name, mo.movie_title
         FROM movies AS mo
         INNER JOIN members AS mb
            ON mo.member_id = mb.id;