《sql必知必会》学习笔记(四)视图

本文深入讲解了SQL中的视图概念,包括视图的定义、作用、创建与删除方法。通过实例演示了如何利用视图简化复杂查询、格式化数据、过滤不需要的信息以及包含计算字段,帮助读者更好地理解和运用视图提升数据库操作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值