SQL创建视图

SQL创建视图,理解了什么是视图以及管理它们的规则和约束后,我们来创建视图。

视图用CREATE VIEW语句来创建。与CREATE TABLE一样,CREATE VIEW只能用于创建不存在的视图。

说明:视图重命名
删除视图,可以使用DROP语句,其语法为DROP VIEW viewname;。覆盖(或更新)视图,必须先删除它,然后再重新创建。

利用视图简化复杂的联结

一个最常见的视图应用是隐藏复杂的SQL,这通常涉及联结。请看下面的例子:

    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,将列出订购了任意产品的顾客。

检索订购了产品RGAN01的顾客,可如下进行:

    SELECT cust_name, cust_contact
    FROM ProductCustomers
    WHERE prod_id = 'RGAN01';

输出结果如下:

    cust_name                  cust_contact
    -------------------      ------------------
    Fun4All                     Denise L. Stephens
    The Toy Store             Kim Howard

这条语句通过WHERE子句从视图中检索特定数据。当DBMS处理此查询时,它将指定的WHERE子句添加到视图查询中已有的WHERE子句中,以便正确过滤数据。

可以看出,视图极大地简化了复杂SQL语句的使用。利用视图,可一次性编写基础的SQL,然后根据需要多次使用。

提示:创建可重用的视图
创建不绑定特定数据的视图是一种好办法。例如,上面创建的视图返回订购所有产品而不仅仅是RGAN01的顾客(这个视图先创建)。扩展视图的范围不仅使得它能被重用,而且可能更有用。这样做不需要创建和维护多个类似视图。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!

 

SQL教程