视图的创建

简介: 如何创建和使用视图的功能,更好的方便我们的工作。

1. 创建和使用视图

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

SELECT 
    cust_name, 
    cust_contact
FROM 
    customers c 
    JOIN orders o ON c.cust_id = o.cust_id
    JOIN orderitems oi ON oi.order_num = o.order_num
WHERE
    oi.prod_id = 'BR01';

运行结果如下:

网络异常,图片无法展示
|

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

CREATE VIEW productcustomers AS
SELECT 
    cust_name, 
    cust_contact,
    prod_id
FROM 
    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_contact
FROM 
    productcustomers
WHERE 
    prod_id = 'BR01';

运行结果如下:

网络异常,图片无法展示
|

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

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

SELECT 
    order_num,
    SUM(quantity * item_price) total
FROM 
    OrderItems 
WHERE 
    order_num = 20005;

运行结果如下:

网络异常,图片无法展示
|

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

CREATE VIEW total AS
SELECT 
    order_num,
    SUM(quantity * item_price) total_price
FROM 
    OrderItems 
GROUP BY
    order_num;

运行结果如下:

网络异常,图片无法展示
|

视图 total 中的内容如下:

网络异常,图片无法展示
|

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

2. 课后题

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

A. CREATE VIEW

B. INSERT INTO

C. CREATE TABLE

D. UPDATE

相关文章
|
4月前
|
SQL 存储 BI
什么是视图?详细解析与应用指南
【8月更文挑战第31天】
742 0
|
7月前
|
SQL 存储 安全
|
SQL 存储 关系型数据库
第14章_视图
第14章_视图
87 0
|
7月前
|
存储 算法 关系型数据库
了解并使用视图
【1月更文挑战第13天】了解并使用视图。
60 1
|
7月前
|
算法 关系型数据库 MySQL
项目5总结:创建与使用视图
项目5总结:创建与使用视图
58 0
|
编解码 Android开发
视图 总结 基础
DragViewTaskRelease 使用FrameLayout布局(可以用其他的),内嵌imageView实现悬浮拖动和点击事件,继承View的ontouchEvent进行动作监听和移动 getX(),getY()等方法的区别(图解) BarPercentView 条形进度条(可设置 线性渐变-背景色-进度条颜色-进度条高度) 游戏下载进度条显示 zidingyiView矩形进度框,在构造函数里定义基础属性,初始化布局,定义俩个矩形,onMeasure获取宽高和onDraw方法显示
|
存储
视图
视图
122 0
|
XML 数据格式
数据视图
原文:数据视图 1、数据视图。 使用数据视图,可添加导航逻辑并实现过滤、排序和分组。 2、View对象。 当将结合(或DataTable)绑定到ItemsControl控件时,会不加通告地在后台创建数据视图---位于数据源和绑定的控件之间。
990 0