《sql必知必会》学习笔记(四)视图
程序员文章站
2022-05-21 12:18:48
SQL必知必会(四)视图第十八课 使用视图18.1 视图视图是虚拟的表,用于封装SELECT语句。视图和表的区别:表:包含数据。SELECT a, bFROM A, B, CWHERE A.id = B.idAND C.num = B.numAND prod_id = 'GCAN01';视图:包含查询。SELECT a, bFROM DWHERE prod_id = 'GCAN01';D是一个视图,不包含列和数据没包含的是一个查询A.id = B.id AND...
SQL必知必会
(四)视图
第十八课 使用视图
18.1 视图
视图是虚拟的表,用于封装SELECT语句。
视图和表的区别:
- 表:包含数据。
SELECT a, b
FROM A, B, C
WHERE A.id = B.id
AND C.num = B.num
AND prod_id = 'GCAN01';
- 视图:包含查询。
SELECT a, b
FROM D
WHERE prod_id = 'GCAN01';
D是一个视图,不包含列和数据没包含的是一个查询A.id = B.id AND C.num = B.num
18.1.1 视图的作用
- 重用SQL语句。
- 简化操作。
- 使用表的一部分,不是整个表。
- 保护数据。
- 更改数据集格式和表示。
18.2 创建视图
创建CREATE VIEW viewname
删除DROP VIEW viewname
18.2.1 简化复杂联结
- 第一步:创建好viewname
CREATE VIEW viewname AS
SELECT a, b, c
FROM A, B, C
WHERE a.id = b.id
AND c.num = b.num;
- 第二步:检索
SELECT a, b
FROM viewname
WHERE id = 'RGAN01';
18.2.2 格式化数据
- 第一步:创建好VendorLocations
CREATE VIEW VendorLocations AS
SELECT RTRIM(vend_name) + '(' + RTRIM(vend_country) + ')'
AS vend_title
FROM Vendors;
- 第二步:检索已经在视图中格式化的数据
SELECT *
FROM VendorLocations;
18.2.3 过滤不要的数据
- 第一步:创建好CustomerEMailList
CREATE VIEW CustomerEMailList AS
SELECT a, b, c
FROM Customers
WHERE c IS NOT NULL;
- 第二步:检索
SELECT * FROM CustomerEMailList;
18.2.4 包含计算字段
- 第一步:创建好viewname
CREATE VIEW viewname AS
SELECT a, b, c,
a * e AS d
FROM OrderItems;
- 第二步:检索
SELECT * FROM viewname
WHERE order_name = 20008;
本文地址:https://blog.csdn.net/liuwp5/article/details/107309513
上一篇: mysql显示长度和实际长度