CREATE VIEW (Databricks SQL)

Construye una tabla virtual sin datos físicos a partir del conjunto de resultados de una consulta SQL. ALTER VIEW y DROP VIEW solo cambian metadatos.

Sintaxis

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

Parámetros

  • OR REPLACE

    Si ya existe una vista con el mismo nombre, se reemplaza. Para reemplazar una vista existente, es necesario ser su propietario.

  • TEMPORARY

    Las vistas TEMPORARY solo están visibles para la sesión que las ha creado y se descartan cuando esta finaliza.

  • IF NOT EXISTS

    Crea la vista solo si no existe. Si ya existe una vista con este nombre, se omite la instrucción CREATE VIEW.

    Puede especificar como máximo uno de IF NOT EXISTS o OR REPLACE.

  • view_name

    Nombre de la vista recién creada. El nombre de una vista temporal no debe ser calificado. Un nombre completo de vista debe ser único.

  • lista_de_columnas

    También puede etiquetar las columnas del resultado de la consulta de la vista. Si proporciona una lista de columnas, el número de alias de columna debe coincidir con el de expresiones de la consulta. En caso de que no se especifique ninguna lista de columnas, los alias se derivan del cuerpo de la vista.

    • column_alias

      Los alias de columna deben ser únicos.

    • column_comment

      Literal STRING opcional que describe el alias de columna.

  • view_comment

    Literal STRING opcional que proporciona comentarios de nivel de vista.

  • TBLPROPERTIES

    Este parámetro opcional le permite establecer una o más propiedades que defina el usuario.

  • AS query

    Consulta que construye la vista a partir de tablas base u otras vistas.

Ejemplos

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