Views

View as Markdown

A view is a virtual table based on the result set of a SQL statement. It derives its fields from a SELECT statement. You can do anything with a HEAVY.AI view query that you can do in a non-view HEAVY.AI query.

Nomenclature Constraints

View object names must use the NAME format, described in regex notation as:

[A-Za-z_][A-Za-z0-9\$_]*

CREATE VIEW

Creates a view based on a SQL statement.

Example

1CREATE VIEW view_movies
2AS SELECT movies.movieId, movies.title, movies.genres, avg(ratings.rating)
3FROM ratings
4JOIN movies on ratings.movieId=movies.movieId
5GROUP BY movies.title, movies.movieId, movies.genres;

You can describe the view as you would a table.

1\d view_movies
2VIEW defined AS: SELECT movies.movieId, movies.title, movies.genres,
3avg(ratings.rating) FROM ratings JOIN movies ON ratings.movieId=movies.movieId
4GROUP BY movies.title, movies.movieId, movies.genres
5Column types:
6 movieId INTEGER,
7 title TEXT ENCODING DICT(32),
8 genres TEXT ENCODING DICT(32),
9 EXPR$3 DOUBLE

You can query the view as you would a table.

1SELECT title, EXPR$3 from view_movies where movieId=260;
2Star Wars: Episode IV - A New Hope (1977)|4.048937

DROP VIEW

Removes a view created by the CREATE VIEW statement. The view definition is removed from the database schema, but no actual data in the underlying base tables is modified.

Example

1DROP VIEW IF EXISTS v_reviews;