SQLServer —— 视图
一、视图的概念
- 是存储在服务器端的一个查询块,是一张虚拟表。
- 表示一张表的部分数据或多张表的综合数据。
- 其结构和数据是建立在对表的查询基础上。
- 视图的使用,跟对普通的表的查询使用完全一样。
二、视图中不存放数据
数据存放在视图所引用的原始表中。
三、表视图的多样性
一个或多个原始表,根据不同用户的不同需求,可以创建不同的视图。
四、视图的用途
- 筛选表中的行。
- 防止未经许可的用户访问敏感数据。
- 降低数据库的复杂程度。
- 将多个物理数据库抽象成为一个逻辑数据库。
五、实际运用
5.1、基于 ssms 创建使用视图
有以下三张表,分别是学员信息表、学员班级表、学员成绩表,如下:
我们可以基于这三张表,新建一个视图:
(1)、右键该数据库视图选项,点新建视图
(2)、逐一将三张表进行添加
(3)、需要哪个字段,点复选框进行勾选
(4)、勾选完毕,保存,并起一个适合的名字
(5)、至此,我们可以刷新视图,可以看到我们刚刚创建的视图了。
(6)、新建一个查询,测试一下。
5.2、使用 T - SQL语句创建视图
CREATE VIEW view_StuInfo
AS
<SELECT 语句>
5.3、使用 T - SQL语句删除视图
-- 需要使用一堆单引号括起
IF EXISTS (SELECT * FROM sysobjects WHERE name = view_StuInfo) DROP VIEW view_StuInfo
5.4、使用 T - SQL语句查看视图
SELECT * FROM view_StuInfo
5.5、完整的例子
六、视图的注意事项
1、视图中可以使用多个表。
2、一个视图可以嵌套另一个视图(尽量少套用)
3、视图定义中的SELECT语句不能包括下列内容:
- ORDER BY 字句,除非在SELECT语句的选择列表中也有一个TOP字句。
- INTO关键字。
- 引用临时表或表变量。
SQLServer —— 视图的更多相关文章
- sqlserver 视图能否有变量
不能,sqlserver 视图一般不能有变量,也不能带存储过程
- SqlServer视图介绍以及创建方式
1.,视图的介绍: (ps:学sqlServer视图是在面试问到之后学的,答不上来太low了,然后就去各种搜索操作对视图也有了自己的理解) 其实视图就是一张表,是一张表中或者多张表中经过某种筛选后显示 ...
- SqlServer视图查询效率测试
一. 测试背景开发一个项目,数据库用的是sqlserver.帐号表数据有一两百万,不算大,也不算小.在考虑是否要使用视图,担心效率,百度了下资料,众说纷纭,好吧,实践是最好的证明,那么我们就来测试吧 ...
- SqlServer视图的创建与使用
SqlServer系列之视图的创建与使用: 什么是视图? 视图的概述 在数据查询中,可以看到数据表设计过程中,考虑到数据的冗余度低.数据一致性等问题,通常对数据表的设计要满足范式的要求,因此也会造成一 ...
- SQLServer视图
视图简介:通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图.SELECT 语句引用的数据表称为视图的基表.在SQL Server 2005系统中,可以把视图分为3种类型,即标准视图,索 ...
- mssql sqlserver 视图如何加密,让第三方用户查看不到其中的SQL语句
转自:http://www.maomao365.com/?p=6719 摘要: 下文讲述视图加密的方法分享,通过此方法可以使视图只可使用,无法获取视图中sql脚本的内容,如下所示: 在创建视图的语法中 ...
- SQLserver视图修改sql
语法: alter view dbo.视图名 as 更新后的视图SQL go 举个栗子: 原视图名为YOUR_VIEW其中SQL为: select * form TableA 更新视图: alter ...
- sqlserver——视图
数据库中的视图是一个虚拟表.同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生.本篇将通过一些实例来介绍视图的概念,视图的作用,创 ...
- sqlserver 视图用 case when
视图用 case when 需要 用如下格式,[需要的列名]= case when...,而表里面的case 不用这样 [isNormal]=CASE WHENdbo.c_bdm_head.I_E_F ...
- SQLSERVER视图错位的解决办法
原始需求如下: 有一个表T1 create table t1 (id int not null primary key ,v1 ) ) ,'aaa'); ,'bbb'); 有一个表TS,用于记录T1中 ...
随机推荐
- Angular本地数据存储LocalStorage
//本地存储数据===================================.factory('locals',['$window',function($window){ return{ / ...
- 安卓手机--键盘谈起后 fixed背景图片被键盘顶起的问题
参考文章: vue写法: <div class="main" :style="{ height: bodyHeight + 'px' }"> < ...
- VS2015使用Nuget安装OpenCV3.X以及Python3安装OpenCV3.X
VS2015已经自带Nuget安装工具了,所以,新建一个项目,点击管理Nuget包 搜索OpenCV3 注意,目前只有这个版本支持VS2015,也就是平台工具集可以为vs140,其他的都会报错,报错我 ...
- Luogu P1948 [USACO08JAN]电话线Telephone Lines(最短路+dp)
P1948 [USACO08JAN]电话线Telephone Lines 题意 题目描述 Farmer John wants to set up a telephone line at his far ...
- getBoundingClientRect介绍
getBoundingClientRect用于获取元素相对与浏览器视口的位置 由于getBoundingClientRect()已经是w3c标准,所以不用担心兼容,不过在ie下还是有所区别 { top ...
- Redis源码解析:21sentinel(二)定期发送消息、检测主观下线
六:定时发送消息 哨兵每隔一段时间,会向其所监控的所有实例发送一些命令,用于获取这些实例的状态.这些命令包括:"PING"."INFO"和"PUBLI ...
- Kotlin 委托(1)类委托、变量委托注意事项
1.官方文档 英文: https://kotlinlang.org/docs/reference/delegation.html https://kotlinlang.org/docs/referen ...
- 【python之路42】web框架们的具体用法
Python的WEB框架 (一).Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. p ...
- GIT → 01:学习版本控制的原因
1.1 没有版本控制出现的问题 备份多个版本,浪费存储空间,花费时间长. 难以恢复至以前的历史版本,容易引发BUG,解决代码冲突困难. 难于追溯问题代码的修改人和修改时间.修改内容.日志信息. 项目升 ...
- 通过http路径获取文本内容(Java)
public static String readFileByUrl(String urlStr) { String res = null; try { URL url = new URL(urlSt ...