--视图
--视图是虚拟的表。视图不存放数据, 视图只包含使用时动态检索数据的查询。
/*为什么使用视图
1.重复使用sql语句。
2.简化复杂的SQL操作,在编写查询后 可以方便的重用他而不必知道其基本查询细节。
3.使用表的一部分而不是整个表。 避免冗余。
4.保护数据。可以授权用户访问表的特定部分权限,而不是整个表的访问权限。
5.更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据。
6.视图极大的简化了复杂的SQL语句的使用,利用视图,可一次性编写基础的sql。然后根据需要多次使用。
(性能问题:因为视图本身不包含数据,每次使用视图时都必须处理查询执行时需要的所有检索。如果你使用了复杂的视图或者嵌套了视图,性能可能会下降的很厉害。)
*/
/* 视图的规则和限制
1.视图名称和表名称一样,不可以重复。
2.视图创建的数量没有限制。
3.需要DBMS中不允许视图查询使用order by(ORDER BY)。
4.创建视图必须有足够的权限。权限一般是数据库管理员授权。
5.视图可以嵌套,即可以利用从其他视图中检索的查询来构建视图。
6.视图不能索引,也不能有关联的触发器或默认值。
/*
go
create view Productcustomers AS
select cust_name ,cust_contact,prod_id from Customers,OrderItems,Orders where Customers.cust_id=Orders.cust_id and Orders.order_num=OrderItems.order