Create Views

Applies to: SQL Server (all supported versions) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

You can create views in SQL Server by using SQL Server Management Studio or Transact-SQL. A view can be used for the following purposes:

  • To focus, simplify, and customize the perception each user has of the database.

  • As a security mechanism by allowing users to access data through the view, without granting the users permissions to directly access the underlying base tables.

  • To provide a backward compatible interface to emulate a table whose schema has changed.

In This Topic

Before You Begin

Limitations and Restrictions

A view can be created only in the current database.

A view can have a maximum of 1,024 columns.



Requires CREATE VIEW permission in the database and ALTER permission on the schema in which the view is being created.

Using SQL Server Management Studio

To create a view by using the Query and View Designer

  1. In Object Explorer, expand the database where you want to create your new view.

  2. Right-click the Views folder, then click New View....

  3. In the Add Table dialog box, select the element or elements that you want to include in your new view from one of the following tabs: Tables, Views, Functions, and Synonyms.

  4. Click Add, then click Close.

  5. In the Diagram Pane, select the columns or other elements to include in the new view.

  6. In the Criteria Pane, select additional sort or filter criteria for the columns.

  7. On the File menu, click Saveview name.

  8. In the Choose Name dialog box, enter a name for the new view and click OK.

    For more information about the query and view designer, see Query and View Designer Tools (Visual Database Tools).

Using Transact-SQL

To create a view

  1. In Object Explorer, connect to an instance of Database Engine.

  2. On the Standard bar, click New Query.

  3. Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012 ;   
    CREATE VIEW HumanResources.EmployeeHireDate  
    SELECT p.FirstName, p.LastName, e.HireDate  
    FROM HumanResources.Employee AS e JOIN Person.Person AS  p  
    ON e.BusinessEntityID = p.BusinessEntityID ;   
    -- Query the view  
    SELECT FirstName, LastName, HireDate  
    FROM HumanResources.EmployeeHireDate  
    ORDER BY LastName;  

For more information, see CREATE VIEW (Transact-SQL).