欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

《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 视图的作用

  1. 重用SQL语句。
  2. 简化操作。
  3. 使用表的一部分,不是整个表
  4. 保护数据。
  5. 更改数据集格式和表示。

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