玖叶教程网

前端编程开发入门

SQL SERVER:视图(40)(sql视图表)

一、视图

1、视图的概念:视图是保存在数据库中的SELECT查询,是一张虚拟表,能够从多个表中提取数据,并以单个表的形式展现数据,视图中不存放数据,数据存放在视图所引用的原始表中,一个原始表,根据不同用户的不同需求,可以创建N多个不同的视图。

2、视图与查询的异同点:

1)不同点:

A、在存储上,视图存储在数据库中,查询以.SQL文件形式保存;

B、在排序上:视图要排序,必须有TOP关键字,而查询则无要求;

C、在安全上:视图可以加密,查询不可以。

2)相同点:视图与查询,都是通过SQL语句定义的。

3、视图操作(也可使用SSMS来操作视图):

1)创建视图语法:

CREATE VIEW <视图名> AS SELECT 查询 ...

例:建立视图,查询各部门人员名单,包括姓名、年龄、入职日期、部门字段

USE MyServer
GO
CREATE VIEW Emp_v_1 AS 
SELECT E.E_Name 姓名,E_Age 年龄,E_Date 入职日期,D.D_Name 部门名称
FROM Employee E JOIN Department D ON E.D_Id=D.D_Id
GO

2)删除视图语法:

DROP VIEW <视图名>

例:判断Emp_v_1视图是否存在,存在则将其删除

USE MyServer
GO
IF EXISTS(SELECT * FROM SysObjects WHERE Name='Emp_v_1')
DROP VIEW  Emp_v_1 --删除视图
GO

3)修改视图查询语句的语法:

ALTER VIEW AS <视图名> SELECT 查询 ...

例:将已建Emp_v_1视图的‘入职日期’删除

USE MyServer
GO
ALTER VIEW Emp_v_1 AS 
SELECT E.E_Name 姓名,E_Age 年龄,D.D_Name 部门名称
FROM Employee E JOIN Department D ON E.D_Id=D.D_Id
GO

4)视图查询的语法(和普通查询一样):SELECT <列名....> FROM <视图名>

4、视图的优缺点与使用的注意事项:

1)优点:视图着重于特定数据,简化了数据的操作,易维护;

2)缺点:操作视图会比直接操作基础表要慢,有修改限制;

3)使用注意事项:视图定义中的SELECT语句不能包括下列内容

A、ORDER BY子句:除非在SELECT语句中的选择列表中,也有一个TOP子句;

B、INTO关键字:INTO的作用,能把数据从已存在的表中查询出来,添加到新表中,这个新表不存在;

C、引用临时表或表变量(1.临时表,是存储在tempdb中,本地临时表以“#”开头全局临时表以‘##'开头,断开连接时,临时表就被删除了;2.表变量是变量的一种形式,以@开头,存在内存中)

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言