写点什么

视图的创建

作者:向阳逐梦
  • 2022-11-03
    四川
  • 本文字数:764 字

    阅读完需:约 3 分钟

1. 创建和使用视图

例如我们要查询订购了某种产品的顾客,SQL 语句如下:

SELECT     cust_name,     cust_contactFROM     customers c     JOIN orders o ON c.cust_id = o.cust_id    JOIN orderitems oi ON oi.order_num = o.order_numWHERE    oi.prod_id = 'BR01';
复制代码

运行结果如下:

这种复杂的查询需要查询人员非常熟悉表的结构,知道如何连接表以及如何创建查询。视图的存在就是为了简化复杂的查询。例如,我们可以创建如下视图:

CREATE VIEW productcustomers ASSELECT     cust_name,     cust_contact,    prod_idFROM     customers c     JOIN orders o ON c.cust_id = o.cust_id    JOIN orderitems oi ON oi.order_num = o.order_num
复制代码

运行结果如下:

视图 productcustomers 中的内容如下:

接下来我们便可以利用这个视图来查询订购了商品 BR01 的客户。

SELECT     cust_name,    cust_contactFROM     productcustomersWHERE     prod_id = 'BR01';
复制代码

运行结果如下:

可以发现:上述查询比原来的查询简单了好多,对表结构不熟悉同样可以进行查询。

在简化计算字段的使用上,视图也很有用。例如:我们要查询某个订单的总金额。

SELECT     order_num,    SUM(quantity * item_price) totalFROM     OrderItems WHERE     order_num = 20005;
复制代码

运行结果如下:

我们同样可以创建一个视图来简化查询。

CREATE VIEW total ASSELECT     order_num,    SUM(quantity * item_price) total_priceFROM     OrderItems GROUP BY    order_num;
复制代码

运行结果如下:

视图 total 中的内容如下:

视图为虚拟的表。它们包含的不是数据而是根据需要检索数据的查询。 视图提供了一种封装 SELECT 语句的层次,可用来简化数据处理, 保护基础数据。

2. 课后题

下列用于创建视图的语句是

A. CREATE VIEW

B. INSERT INTO

C. CREATE TABLE

D. UPDATE

发布于: 刚刚阅读数: 4
用户头像

向阳逐梦

关注

人生享受编程,编程造就人生! 2022-06-01 加入

某公司芯片测试工程师,嵌入式开发工程师,InfoQ签约作者,阿里云星级博主,华为云·云享专家。座右铭:向着太阳,追逐梦想!

评论

发布
暂无评论
视图的创建_Python_向阳逐梦_InfoQ写作社区