时间:2021-07-01 10:21:17 帮助过:24人阅读
视图是虚拟的表
为什么使用视图
警告:性能问题
因为视图不包含数据,所以每次使用视图时,都必须处理查询执行时需要的所有检索。如果你用多个联结和过滤创建了复杂的视图或者嵌套
了视图,性能可能会下降得很厉害。因此,在部署使用了大量视图的应用前,应该进行测试。
视图的规则和限制
二、创建与使用视图
说明:视图重命名
删除视图,可以使用DROP语句,其语法为DROP VIEW viewname;。
覆盖(或更新)视图,必须先删除它,然后再重新创建。
CREATE VIEW ProductCustomers AS SELECT cust_name, cust_contact, prod_id FROM Customers, Orders, OrderItems WHERE Customers.cust_id = Orders.cust_id AND OrderItems.order_num = Orders.order_num;
分析▼
这条语句创建一个名为ProductCustomers的视图,它联结三个表,返回已订购了任意产品的所有顾客的列表。如果执行SELECT * FROM
ProductCustomers,将列出订购了任意产品的顾客。
SELECT cust_name, cust_contact FROM ProductCustomers WHERE prod_id = ‘RGAN01‘;
分析▼
这条语句通过WHERE子句从视图中检索特定数据。当DBMS处理此查询时,它将指定的WHERE子句添加到视图查询中已有的WHERE子句中,
以便正确过滤数据。
提示:创建可重用的视图
创建不绑定特定数据的视图是一种好办法。例如,上面创建的视图返回订购所有产品而不仅仅是RGA N01的顾客(这个视图先创建)。扩展
视图的范围不仅使得它能被重用,而且可能更有用。这样做不需要创建和维护多个类似视图。
17.视图--SQL
标签:创建 操作 重命名 覆盖 命名 from sel 一个 item