CREATE VIEW (Databricks SQL)

Construit une table virtuelle qui n’a pas de données physiques en fonction du jeu de résultats d’une requête SQL. ALTER VIEW et DROP VIEW modifient uniquement les métadonnées.

Syntaxe

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 ] } [, ...] )

Paramètres

  • OR REPLACE

    Si une vue du même nom existe déjà, elle est remplacée. Pour remplacer une vue existante, vous devez en être le propriétaire.

  • TEMPORARY

    Les vues TEMPORARY ne sont visibles que pour la session qui les a créées et sont supprimées à la fin de la session.

  • IF NOT EXISTS

    Crée la vue uniquement si elle n’existe pas. Si une vue portant ce nom existe déjà, l’instruction CREATE VIEW est ignorée.

    Vous pouvez spécifier au maximum un seul des paramètres IF NOT EXISTS ou OR REPLACE.

  • view_name

    Nom de la vue nouvellement créée. Le nom d’une vue temporaire ne doit pas être qualifié. Le nom complet de la vue doit être unique.

  • column_list

    Étiquette au choix les colonnes dans le résultat de la requête de la vue. Si vous fournissez une liste de colonnes, le nombre d’alias de colonnes doit correspondre au nombre d’expressions de la requête. Si aucune liste de colonnes n’est spécifiée, les alias sont dérivés du corps de la vue.

    • column_alias

      Les alias de colonnes doivent être uniques.

    • column_comment

      Littéral STRING au choix qui décrit l’alias de la colonne.

  • view_comment

    Littéral STRING au choix qui fournit des commentaires au niveau de la vue.

  • TBLPROPERTIES

    (Facultatif) Définit une ou plusieurs propriétés définies par l’utilisateur.

  • AS query

    Requête qui construit l’affichage à partir de tables de base ou d’autres affichages.

Exemples

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