建立檢視

適用於: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 ] } [, ...] )

參數

  • 或 REPLACE

    如果已有相同名稱的檢視存在,則會加以取代。 若要取代現有的檢視,您必須是其擁有者。

    取代現有的檢視並不會保留原始檢視上授與的許可權。 使用 ALTER VIEW 來保留許可權。

  • TEMPORARY

    只有建立暫存檢視的會話才會顯示,而且會在會話結束時卸除。

  • 全域暫存

    適用於:check marked yes Databricks Runtime

    全域暫存檢視會系結至系統保留的暫存架構 global_temp

  • 如果不存在

    只有在檢視不存在時,才會建立檢視。 如果這個名稱的檢視已經存在, CREATE VIEW 則會忽略 語句。

    您最多可以指定或的IF NOT EXISTSOR REPLACE其中一個 。

  • view_name

    新建立檢視的名稱。 暫存檢視的名稱不得限定。 完整檢視名稱必須是唯一的。

  • column_list

    選擇性地在檢視的查詢結果中標記數據行。 如果您提供資料行清單,數據行別名的數目必須符合查詢中的表達式數目。 如果沒有指定數據行清單的別名衍生自檢視主體。

    • column_alias

      數據行別名必須是唯一的。

    • column_comment

      描述數據行別名的選擇性 STRING 常值。

  • view_comment

    提供檢視層級批注的選擇性 STRING 常值。

  • 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;