请问SQL中视图与查询的区别?
答案:4 悬赏:60 手机版
解决时间 2021-12-04 05:39
- 提问者网友:且恨且铭记
- 2021-12-03 16:44
请问SQL中视图与查询的区别?
最佳答案
- 五星知识达人网友:佘樂
- 2021-12-03 16:52
视图可以被看成是虚拟表或存储查询,可通过视图访问的数据不作为独特的对象存储在数据库内,数据库内存储的是 SELECt 语句,SELECT 语句的结果集构成视图所返回的虚拟表,用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。
使用视图可以实现下列任一或所有功能:
将用户限定在表中的特定行上。
例如,只允许雇员看见工作跟踪表内记录其工作的行。
将用户限定在特定列上。
例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。
将多个表中的列联接起来,使它们看起来象一个表。
聚合信息而非提供详细信息。
例如,显示一个列的和,或列的最大值和最小值。
通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图。SELECT 语句引用的数据表称为视图的基表。在下例中,pubs 数据库中的 titleview 是一个视图,该视图选择三个基表中的数据来显示包含常用数据的虚拟表:
CREATE VIEW titleview
AS
SELECT title, au_ord, au_lname, price, ytd_sales, pub_id
FROM authors AS a
JOIN titleauthor AS ta ON (a.au_id = ta.au_id)
JOIN titles AS t ON (t.title_id = ta.title_id)
之后,可以用引用表时所使用的方法在语句中引用 titleview。
SELECt *
FROM titleview 一个视图可以引用另一个视图。
例如,titleview 显示的信息对管理人员很有用,但公司通常只在季度或年度财务报表中才公布本年度截止到现在的财政数字。
可以建立一个视图,在其中包含除 au_ord 和 ytd_sales 外的所有 titleview 列。使用这个新视图,客户可以获得已上市的书籍列表而不会看到财务信息:
CREATE VIEW Cust_titleview
AS
SELECt title, au_lname, price, pub_id
FROM titleview
使用视图可以实现下列任一或所有功能:
将用户限定在表中的特定行上。
例如,只允许雇员看见工作跟踪表内记录其工作的行。
将用户限定在特定列上。
例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。
将多个表中的列联接起来,使它们看起来象一个表。
聚合信息而非提供详细信息。
例如,显示一个列的和,或列的最大值和最小值。
通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图。SELECT 语句引用的数据表称为视图的基表。在下例中,pubs 数据库中的 titleview 是一个视图,该视图选择三个基表中的数据来显示包含常用数据的虚拟表:
CREATE VIEW titleview
AS
SELECT title, au_ord, au_lname, price, ytd_sales, pub_id
FROM authors AS a
JOIN titleauthor AS ta ON (a.au_id = ta.au_id)
JOIN titles AS t ON (t.title_id = ta.title_id)
之后,可以用引用表时所使用的方法在语句中引用 titleview。
SELECt *
FROM titleview 一个视图可以引用另一个视图。
例如,titleview 显示的信息对管理人员很有用,但公司通常只在季度或年度财务报表中才公布本年度截止到现在的财政数字。
可以建立一个视图,在其中包含除 au_ord 和 ytd_sales 外的所有 titleview 列。使用这个新视图,客户可以获得已上市的书籍列表而不会看到财务信息:
CREATE VIEW Cust_titleview
AS
SELECt title, au_lname, price, pub_id
FROM titleview
全部回答
- 1楼网友:鱼芗
- 2021-12-03 19:22
视图是由基本表导出的表。SQL可以对两种基本数据结构进行操作,一种是表,另一种是视图。查询操作是对表中数据的操作。追问那查询会生成一个新表的关系吗?查询结果也是一个虚表?
- 2楼网友:duile
- 2021-12-03 18:30
查询是对数据库表数据的操作,而视图类似于呼转功能的中间站
- 3楼网友:未来江山和你
- 2021-12-03 17:01
视图就是一条查询语句
视图使用起来就是一张表.但是只是单个基表的行列投影才可更新.
视图主要用到映射模式到外模式来使用.
还有有时查询子查询套用次数太多,也用视图来增加可读性
视图使用起来就是一张表.但是只是单个基表的行列投影才可更新.
视图主要用到映射模式到外模式来使用.
还有有时查询子查询套用次数太多,也用视图来增加可读性
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯