Skip to main content
Log inGet a demo
Back to SQL Dictionary
Database functions

SQL Create View


The SQL CREATE VIEW statement is used to create a virtual table that consists of a subset of data from one or more tables in a relational database. Views provide a way to simplify complex queries, abstract data, and present specific data subsets without modifying the underlying tables.

When you would use it

You would use the CREATE VIEW statement in various scenarios, including:

  1. Simplifying Querying: To simplify complex queries by encapsulating them within a view, making them easier to work with.

  2. Security and Data Access Control: To limit access to specific data subsets for certain users, preventing direct access to the underlying tables.

  3. Data Abstraction: To abstract the underlying data structure, allowing you to present data in a more user-friendly format.

  4. Data Consistency: To ensure that data consistency is maintained when the same query logic is used in multiple places.


The syntax for the CREATE VIEW statement is as follows:

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • view_name: The name of the view you want to create.
  • column1, column2, ...: The columns you want to include in the view.
  • table_name: The name of the table(s) you want to use as the data source.
  • condition: An optional condition that filters the rows from the source table(s).

Parameter values

  • view_name: The name you choose for the view. This is a required parameter and must be unique within the database.
  • column1, column2, ...: The columns you want to include in the view. These should match columns in the source table(s).
  • table_name: The name of the source table(s). You can include one or more tables in the view definition.
  • condition: An optional filter condition that restricts the rows included in the view. This is not required.

Example query

Here's an example SQL query to create a view named "customer_contacts" that selects specific columns from a "customers" table:

CREATE VIEW customer_contacts AS
SELECT customer_id, first_name, last_name, email
FROM customers
WHERE status = 'active';

Example table response

The CREATE VIEW statement does not produce a table response itself. Instead, it creates a virtual table or view definition. To query the view, you'd use a SELECT statement.

Use cases

  1. Query Simplification: To simplify complex or frequently used queries by encapsulating them in a view, making them more manageable.

  2. Data Abstraction: To present data in a more user-friendly or business-specific format, abstracting the underlying database structure.

  3. Data Security and Access Control: To control and limit access to specific data subsets, ensuring that users only see the data they are authorized to access.

  4. Data Consistency: To ensure that the same query logic is consistently applied in multiple places, reducing the risk of errors and ensuring data integrity.

SQL Languages Availability

The CREATE VIEW statement is a feature widely available in SQL-based relational database management systems (RDBMS), including:

  • MySQL
  • PostgreSQL
  • Microsoft SQL Server
  • Oracle Database
  • IBM Db2
  • SQLite
  • and more.

While the basic syntax for creating views is consistent, the exact implementation may vary slightly between database systems. It's essential to refer to the documentation of your specific RDBMS for precise usage details.


SQL Auto Increment



Ready to put your SQL knowledge to work?

Practice writing SQL to call data from the warehouse and sync it into Google Sheets in this 5 minute interactive demo.

Hightouch Audiences user interface.

Activate your data in less than 5 minutes