CREATE VIEWCREATE VIEW

SQL クエリの結果セットに基づいて物理データを持たない仮想テーブルを構築します。Constructs a virtual table that has no physical data based on the result-set of a SQL query. ALTER VIEW また、 DROP VIEW メタデータの変更のみを行います。ALTER VIEW and DROP VIEW only change metadata.

構文Syntax

CREATE [ OR REPLACE ] [ [ GLOBAL ] TEMPORARY ] VIEW [ IF NOT EXISTS ] view_identifier
    create_view_clauses AS query

パラメーターParameters

  • または置換OR REPLACE

    同じ名前のビューが既に存在する場合は、置き換えられます。If a view of same name already exists, it is replaced.

  • 全体TEMPORARY[ GLOBAL ] TEMPORARY

    一時ビューはセッションスコープで、セッションが終了すると削除されます。これは、基になる metastore (存在する場合) の定義の永続化をスキップするためです。TEMPORARY views are session-scoped and is dropped when session ends because it skips persisting the definition in the underlying metastore, if any. グローバル一時ビューは、システムに保存された一時データベースに関連付けられ global_temp ます。GLOBAL TEMPORARY views are tied to a system preserved temporary database global_temp.

  • 存在しない場合IF NOT EXISTS

    ビューが存在しない場合は、作成します。Creates a view if it does not exist.

  • view_identifierview_identifier

    ビュー名。必要に応じて、データベース名で修飾します。A view name, optionally qualified with a database name.

    構文:[database_name.] view_nameSyntax: [database_name.] view_name

  • create_view_clausescreate_view_clauses

    これらの句は省略可能で、順序は区別されません。These clauses are optional and order insensitive. 次の形式を使用できます。It can be of following formats.

    • [ ( column_name [ COMMENT column_comment ], ... ) ] 列レベルのコメントを指定する場合は。[ ( column_name [ COMMENT column_comment ], ... ) ] to specify column-level comments.
    • [ COMMENT view_comment ] ビューレベルのコメントを指定する場合は。[ COMMENT view_comment ] to specify view-level comments.
    • [ TBLPROPERTIES ( property_name = property_value [ , ... ] ) ] メタデータのキーと値のペアを追加します。[ TBLPROPERTIES ( property_name = property_value [ , ... ] ) ] to add metadata key-value pairs.
  • クエリ ベーステーブルまたはその他のビューからビューを構築する SELECT ステートメント。query A SELECT statement that constructs the view from base tables or other views.

Examples

-- 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 global temporary view `subscribed_movies` if it does not exist.
CREATE GLOBAL TEMPORARY VIEW IF NOT EXISTS 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;