- SQL Server是什么?
- 安装SQL Server
- 连接到SQL Server
- SQL Server示例数据库
- 加载示例数据库
- SQL Server数据类型
- SQL Server数据定义
- SQL Server修改数据
- SQL Server数据查询
- SQL Server连接表
- SQL Server数据分组
- SQL Server子查询语句
- SQL Server集合操作符
- SQL Server约束
- SQL Server视图
- SQL Server存储过程
- SQL Server用户定义函数
- SQL Server触发器
- SQL Server聚合函数
- SQL Server日期函数
- SQL Server字符串函数
- SQL Server Window函数
SQL Server视图
在本教程中,将了解视图以及如何管理视图,包括:创建新视图,删除视图以及通过视图更新基础表的数据。
使用SELECT语句查询一个或多个表中的数据时,将获得结果集。
例如,以下语句返回products
和 brands
表中所有产品的产品名称,品牌和价格:
SELECT product_name, brand_name, list_price FROM production.products p INNER JOIN production.brands b ON b.brand_id = p.brand_id;
下次,如果要获得相同的结果集,可以将此查询语句保存到文本文件中,打开它,然后再次执行。
SQL Server提供了一种通过视图将此查询保存在数据库目录中的更好方法。
视图是存储在数据库目录中的命名查询,允许客户端在之后引用它。
因此,上面的查询可以使用CREATE VIEW语句存储为视图,如下所示:
CREATE VIEW sales.product_info AS SELECT product_name, brand_name, list_price FROM production.products p INNER JOIN production.brands b ON b.brand_id = p.brand_id;
稍后,可以像SELECT
表一样引用SELECT
语句中的视图,如下所示:
SELECT * FROM sales.product_info;
收到此查询时,SQL Server执行以下查询:
SELECT * FROM ( SELECT product_name, brand_name, list_price FROM production.products p INNER JOIN production.brands b ON b.brand_id = p.brand_id; );
根据定义,视图不存储除索引视图之外的数据。
视图可以包含来自使用连接的多个表的列,也可以只包含单个表的列的子集。 这使得视图对于抽象或隐藏复杂查询很有用。
下图说明了包含多个表中列的视图:
视图的优点
一般来说,视图有以下优点:
安全
您可以限制用户直接访问表,并允许他们通过视图访问数据子集。
例如,可以允许用户通过视图访问客户姓名,电话,电子邮件,但限制他们访问银行帐户和其他敏感信息。
简单
关系数据库可以具有许多具有复杂关系的表,例如,一对一和一对多使得难以导航。
但是,可以使用一组视图简化具有连接和条件的复杂查询。
一致性
有时,需要在每个查询中编写复杂的公式或逻辑。为了使其一致,可以隐藏视图中的复杂查询逻辑和计算。
定义视图后,可以从视图中引用逻辑,而不是在单独的查询中重写它。
在SQL Server中管理视图的相关主题如下 -
- 创建新视图 - 演示如何在SQL Server数据库中创建新视图。
- 重命名视图 - 了解如何使用SQL Server Management Studio或Transact-SQL命令重命名视图。
- 查看列出视图 - 演示如何列出SQL Server数据库中所有视图的几种方法。
- 获取视图信息 - 演示如何获取有关视图的信息。
- 删除视图 - 指导如何使用
DROP VIEW
语句从数据库中删除一个或多个视图。 - 创建索引视图 - 演示如何针对具有不频繁数据修改的表创建索引视图,以优化视图的性能。
上一篇:SQL Server约束
下一篇:SQL Server存储过程
扫描二维码
程序员编程王