前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SQL Server】视图

【SQL Server】视图

作者头像
MaybeHC
发布2024-04-23 18:31:03
840
发布2024-04-23 18:31:03
举报
文章被收录于专栏:技术之路技术之路

视图的概念

  • 是存储在服务器端一个查询块,是一张虚拟表
  • 表示一张表的部分数据或多张表的综合数据
  • 其结构和数据是建立在对表的查询基础上。
  • 视图的使用,跟普通的表的查询使用完全一样

视图中不存放数据 数据存放在视图所引用的原始表中。 表视图的多样性 一个或多个原始表,根据不同用户的不同需求,可以创建不同的视图。 视图的用途 - 筛选表中的行 - 防止未经许可的用户访问敏感数据 - 降低数据库的复杂程度 - 将多个物理是巨款抽象为一个逻辑数据库

如何创建视图

使用T-SQL语句创建视图

代码语言:javascript
复制
CREATE VIEW view_Stuinfo
    AS
    <SELECT 语句>

使用T-SQL语句删除视图

代码语言:javascript
复制
if exists(select * from sysobjects where name ='View_StuInfo')
drop view View_StuInfo

使用T-SQL语句查看视图

代码语言:javascript
复制
SELECT * FROM view_StuInfo

场景示例

下面用以下几个表建立视图 ScoreList表

这里写图片描述
这里写图片描述

StudentClass表

这里写图片描述
这里写图片描述

Students表

这里写图片描述
这里写图片描述

创建视图并查询

代码语言:javascript
复制
use StudentManager
go 
-- 判断视图是否存在
if exists(select * from sysobjects where name ='View_StuScore')
drop view View_StuScore
go
--创建视图
create view View_StuScore
as 
    select Students.StudentId,StudentName,ClassName,C#=CSharp,SQLDB=SQLServerDB,
    ScoreSum=(CSharp+SQLServerDB)from Students
    inner join ScoreList on Students.StudentId =ScoreList.StudentId
    inner join StudentClass on Students.ClassId =StudentClass.ClassId
go
--使用视图查询
select * from View_StuScore

结果

这里写图片描述
这里写图片描述
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 视图的概念
  • 如何创建视图
  • 场景示例
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com