SQL Server数据库管理与开发教程与实训第6章 数据查询与视图.ppt

上传人:1595****071 文档编号:86282141 上传时间:2023-04-14 格式:PPT 页数:40 大小:542KB
返回 下载 相关 举报
SQL Server数据库管理与开发教程与实训第6章 数据查询与视图.ppt_第1页
第1页 / 共40页
SQL Server数据库管理与开发教程与实训第6章 数据查询与视图.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《SQL Server数据库管理与开发教程与实训第6章 数据查询与视图.ppt》由会员分享,可在线阅读,更多相关《SQL Server数据库管理与开发教程与实训第6章 数据查询与视图.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10 SQL Server 数据库管理与开发第第6 6章章 数据查询与视图数据查询与视图教学提示教学提示:数据查询是数据库系统中最基本也是最重:数据查询是数据库系统中最基本也是最重要的操作,视图是关系数据库系统提供给用户以多要的操作,视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。本章主要学种角度观察数据库中数据的重要机制。本章主要学习习SQL ServerSQL Server的数据查询,包括简单查询、高级查的数据查询,包括简单查询、高级查询以及视图的建立和使用。询以及视图的建立和使用。教学要求

2、教学要求:通过本章的教学,要求掌握各种查询方法,:通过本章的教学,要求掌握各种查询方法,包括单表单条件查询、单表多条件查询、多表多条包括单表单条件查询、单表多条件查询、多表多条件查询,并能对查询结果排序、分组;掌握视图的件查询,并能对查询结果排序、分组;掌握视图的建立、修改、使用和删除。建立、修改、使用和删除。北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10 SQL Server 数据库管理与开发1 SELECT语句概述2 T-SQL简单查询3 T-SQL高级查询4 视图5 实训6 小结第第6 6章章 数据查询与视图数据查询与视图 SQL Server 数据

3、库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图1 SELECT语句概述1.1 基本语法格式1.2 执行方式1SELECT概述2简单查询3高级查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图SELECT SELECT 字段列表字段列表 INTO INTO 目标数据表目标数据表 FROM FROM 源数据表或视图源数据表或视图,.n,.nWHERE WHER

4、E 条件表达式条件表达式 GROUP BY GROUP BY 分组表达式分组表达式 HAVING HAVING 搜索表达式搜索表达式ORDER BY ORDER BY 排序表达式排序表达式 ASC|DESCASC|DESCCOMPUTE COMPUTE 行聚合函数名行聚合函数名(表达式表达式),.n),.n BY BY 表达式表达式 ,.n,.n 1.1 基本语法格式 1SELECT概述 基本语法格式 执行方式2简单查询3高级查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章

5、数据查询与视图数据查询与视图1 1用企业管理器用企业管理器(查询设计器查询设计器)执行执行1.2 执行方式(1)(1)打开企业管理器,展开数据库,选择表。打开企业管理器,展开数据库,选择表。(2)(2)右击所要查询的表,从弹出的快捷菜单中选择右击所要查询的表,从弹出的快捷菜单中选择【打开打开表表】,然后选择,然后选择【查询查询】。如图如图6.16.1所示所示。(3)(3)在查询设计器在查询设计器】中设计查询。中设计查询。如图如图6.26.2所示所示 。(4)(4)单击运行按钮,执行查询。单击运行按钮,执行查询。如图如图6.36.3所示所示。2 2用查询分析器执行用查询分析器执行(1)(1)打开

6、查询分析器,选择当前数据库。打开查询分析器,选择当前数据库。如图如图6.46.4所示所示 (2)(2)编辑器窗格中编辑编辑器窗格中编辑SELECTSELECT语句语句(3)(3)在菜单栏中选择在菜单栏中选择【查询查询】并在其下拉菜单中选并在其下拉菜单中选【执行执行】,或直接单击工具栏中的执行查询按钮。或直接单击工具栏中的执行查询按钮。结果如图结果如图6.56.5所示所示 1SELECT概述 基本语法格式 执行方式2简单查询3高级查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章

7、 数据查询与视图数据查询与视图2 T-SQL简单查询1SELECT概述2简单查询3高级查询4视图5本章实训6本章小结2.1 SELECT子句选取字段和记录2.2 条件的查询2.3 汇总查询(聚合函数)2.4 查询结果排序2.5 查询结果保存 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图SELECT SELECT 列名列名1,.1,.列名列名n FROM n FROM 表名表名2.1 SELECT子句选取字段和记录 1 1选取指定字段选取指定字段【例例6.16.1】查询学生姓

8、名和性别查询学生姓名和性别2 2选取全部字段选取全部字段(*)【例例6.26.2】查询学生所有数据查询学生所有数据3 3设置字段别名:设置字段别名:列表达式列表达式 as as 别名别名【例例6.36.3】查询学生姓名、性别和年龄。查询学生姓名、性别和年龄。4 4使用计算字段使用计算字段 计算字段名计算字段名=表达式表达式【例例6.46.4】查询学生姓名、性别和年龄。查询学生姓名、性别和年龄。1SELECT概述2简单查询 SELECT子句 条件的查询 汇总查询 查询结果排序 查询结果保存3高级查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-3

9、01-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图2.1 SELECT子句选取字段和记录 5 5返回全部记录返回全部记录(ALLALL)【例例6.56.5】查询学生信息表中的所有年龄查询学生信息表中的所有年龄6 6过滤重复记录过滤重复记录(DISTINCTDISTINCT)【例例6.66.6】查询学生信息表中的年龄查询学生信息表中的年龄(重复年龄只显示一次重复年龄只显示一次)7 7仅返回前面若干条记录仅返回前面若干条记录(TOPTOP)SELECT SELECT TOP n PERCENTTOP n PERCENT 列名列名1 1,列名列名n n

10、FROM FROM 表名表名【例例6.76.7】查询学生信息表中前查询学生信息表中前5 5条记录条记录【例例6.86.8】查询学生信息表中前面查询学生信息表中前面20%20%行记录行记录1SELECT概述2简单查询 SELECT子句 条件的查询 汇总查询 查询结果排序 查询结果保存3高级查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图SELECT SELECT 列名列名1 1,.,.列名列名n n FROM FROM 表名表名 WHERE WHE

11、RE 条件表达式条件表达式2.2 条件查询1 1比较表达式作查询条件比较表达式作查询条件表达式表达式 比比较较运算符运算符 表达式表达式 【例例6.96.9】查询年龄在查询年龄在2222岁以下的学生岁以下的学生1SELECT概述2简单查询 SELECT子句 条件的查询 汇总查询 查询结果排序 查询结果保存3高级查询4视图5本章实训6本章小结2 2逻辑表达式作查询条件逻辑表达式作查询条件表达式表达式 ANDAND或或OROR 表达式表达式 或:NOTNOT 表达式表达式【例例6.106.10】查询年龄为查询年龄为2020岁的女生岁的女生 SQL Server 数据库管理与开发北京大学出版社 IS

12、BN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图2.2 条件查询3 3使用使用BETWEENBETWEEN关键字关键字表达式表达式 NOT BETWEEN NOT BETWEEN 表达式表达式1 1 AND AND 表达式表达式2 24 4使用使用ININ关键字关键字表达式 NOT IN(表达式1,表达式2,表达式n)【例例6.116.11】查询电话号码区号为查询电话号码区号为03510351、03540354和和03550355的学生的学生5 5使用使用LIKELIKE关键字关键字(模糊查询模糊查询)表达式表达式 NOT LIKE

13、NOT LIKE 格式串格式串 通配符:%_(下划线)(封闭方括号)【例例6.126.12】查查询询联联系系电电话话以以03510351、03540354或或03550355打打头头的的学学生的生的1SELECT概述2简单查询 SELECT子句 条件的查询 汇总查询 查询结果排序 查询结果保存3高级查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图【例例6.136.13】查询学生的最大年龄、最小年龄、平均年龄、查询学生的最大年龄、最小年龄、平均年龄

14、、年龄总和及总人数年龄总和及总人数2.3 汇总查询(聚合函数)1SELECT概述2简单查询 SELECT子句 条件的查询 汇总查询 查询结果排序 查询结果保存3高级查询4视图5本章实训6本章小结函数名功能sum()对数值型列或计算列求总和avg()对数值型列或计算列求平均值min()返回一个数值列或数值表达式的最小值max()返回一个数值列或数值表达式的最大值count()返回满足指定的条件的记录的个数count(*)返回找到的行数 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与

15、视图ORDER BY ORDER BY 子句:子句:ORDER BY ORDER BY 表达式表达式1 ASC|DESC,n1 ASC|DESC,n【例例6.146.14】按年龄从大到小的顺序显示学生的按年龄从大到小的顺序显示学生的 姓名姓名,性性别别,年龄年龄 2.4 查询结果排序1SELECT概述2简单查询 SELECT子句 条件的查询 汇总查询 查询结果排序 查询结果保存3高级查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图【例例6.156

16、.15】查询所有女生的信息并将结果保存成名为查询所有女生的信息并将结果保存成名为 女女生表生表 的数据表的数据表【例例6.166.16】查询所有男生的信息并将结果存入临时表中查询所有男生的信息并将结果存入临时表中2.5 查询结果保存1SELECT概述2简单查询 SELECT子句 条件的查询 汇总查询 查询结果排序 查询结果保存3高级查询4视图5本章实训6本章小结INTOINTO子句子句:INTO INTO 目目标标数据表数据表 如果要将查询结果存放到临时表,则在临时表名前要如果要将查询结果存放到临时表,则在临时表名前要加加“#”#”号。号。SQL Server 数据库管理与开发北京大学出版社

17、ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图3 T-SQL高级查询3.1 连接查询3.2 使用分组3.3 合并结果集3.4 汇总计算3.5 子查询1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图连接类型:内连接、外连接、自连接、交叉连接3.1 连接查询 1 1内连接内连接(自然连接自然连接)FRO

18、M FROM 表表1 1 inner JION inner JION 表表2 2 ON ON 条件表达式条件表达式1 1【例例6.176.17】从学生信息表和教学成绩表中查询学生的学号、从学生信息表和教学成绩表中查询学生的学号、姓名、课程编号和分数姓名、课程编号和分数为数据表指定别名【例例6.186.18】从学生信息表、教学成绩表和课程信息表中查询从学生信息表、教学成绩表和课程信息表中查询学生的学号、姓名、课程名称和分数学生的学号、姓名、课程名称和分数1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结 SQL Server 数据库

19、管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图3.1 连接查询外连接外连接(1)(1)左连接左连接:FROM FROM 表表1 1 LEFT OUTER JOIN LEFT OUTER JOIN 表表2 2 ON ON 条件表达式条件表达式 【例例6.196.19】从从 学生信息表学生信息表、教学成绩表教学成绩表 和和 课程信息表课程信息表 中查询查询学生的中查询查询学生的 学号学号、姓名姓名、课程名称课程名称 和和 分分数数(2)(2)右外连接右外连接:FROM FROM 表表1 1 RIGHT OU

20、TER JOIN RIGHT OUTER JOIN 表表2 2 ON ON 条件表达式条件表达式 【例例6.206.20】从从 学生信息表学生信息表、教学成绩表教学成绩表 和和 课程信息表课程信息表 中查中查询查询学生的询查询学生的 学号学号、姓名姓名、课程名称课程名称 和和 分数分数(3)(3)全外连接全外连接:FROM FROM 表表1 1 FULL OUTER JOIN FULL OUTER JOIN 表表2 2 ON ON 条件表达式条件表达式 【例例6.216.21】从从 学生信息表学生信息表 和和 教师信息表教师信息表 中查询同姓的中查询同姓的教师和学生的教师和学生的 姓名姓名 运

21、行结果如图运行结果如图6.66.6所示所示 【例例6.226.22】从从 学生信息表学生信息表 和和 教师信息表教师信息表 中查询同姓的中查询同姓的教师和学生的教师和学生的 姓名姓名 运行结果如图运行结果如图6.76.7所示所示1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图3.1 连接查询 3 3自连接自连接 在同一张表内进行自身连接(必须为表指定两个别名)【例

22、例6.236.23】从学生信息表中查询同名学生的姓名和学号从学生信息表中查询同名学生的姓名和学号 1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结4 4交叉连接交叉连接:非限制连接,将两个表不加任何约束地组合起来 FROM FROM 表表1 1 CROSS JOIN CROSS JOIN 表表2 2 或 FROM FROM 表表1,1,表表2 2【例例6.246.24】交叉连接举例交叉连接举例 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章

23、 数据查询与视图数据查询与视图GROUP BYGROUP BY子句子句GROUP BY GROUP BY 分分组组表达式表达式 ,.,.n n HAVING HAVING 搜索表达式搜索表达式 3.2 使用分组1 1简单分组简单分组【例例6.256.25】从从 学生信息表学生信息表 中分别统计出男生和女生的最中分别统计出男生和女生的最大年龄、最小年龄、平均年龄、年龄总和及人数大年龄、最小年龄、平均年龄、年龄总和及人数 运行结果如图运行结果如图6.86.8所示所示根据多列进行分组根据多列进行分组【例例6.266.26】从从 学生信息表学生信息表 中分别分班统计出男生和女中分别分班统计出男生和女生

24、的最大年龄、最小年龄、平均年龄、年龄总和及人生的最大年龄、最小年龄、平均年龄、年龄总和及人数,结果按班级编号、性别排列。数,结果按班级编号、性别排列。1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结2 2使用使用HAVINGHAVING筛选结果筛选结果【例例6.276.27】查询查询200301200301班均分高于班均分高于8080分的学生的班级、分的学生的班级、学号、姓名、均分,结果按均分降序排列学号、姓名、均分,结果按均分降序排列 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/

25、TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图查询语句UNION ALL查询语句3.3 合并结果集【例例6.286.28】查询所有学生和教师查询所有学生和教师的姓名、性别的姓名、性别注意:注意:(1)(1)联合查询是将两个表联合查询是将两个表(结果集结果集)顺序连接。顺序连接。(2)UNION(2)UNION中的每一个查询所涉及的列必须具有相同的列数、相中的每一个查询所涉及的列必须具有相同的列数、相同位置的列数据类型要相同。若长度不同,以最长的字段作同位置的列数据类型要相同。若长度不同,以最长的字段作为输出字段的长度。为输出字段的长度。(3)(3)结果集中的列名来自

26、第一个结果集中的列名来自第一个SELECTSELECT语句。语句。(4)(4)最后一个最后一个SELECTSELECT查询可以带查询可以带ORDER BYORDER BY子句子句,对整个对整个UNION UNION 操操作结果集起作用。且只能用第一个作结果集起作用。且只能用第一个SELECTSELECT查询中的字段作排查询中的字段作排序列。序列。(5)(5)系统自动删除结果集中重复的记录,除非使用系统自动删除结果集中重复的记录,除非使用ALLALL关键字。关键字。1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结 SQL Serv

27、er 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图COMPUTE COMPUTE 行聚合函数名行聚合函数名(统计统计表达式表达式),.n),.n BY BY 分分类类表达式表达式 ,.n,.n 3.4 汇总计算1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结【例例6.296.29】在在 教学成教学成绩管理数据库绩管理数据库 中中查询查询 课程编号课程编号 为为900013900013的学生学号、的学生学号、姓名、课程名称和姓名、课

28、程名称和分数,并计算出最分数,并计算出最高分、最低分和均高分、最低分和均分分函数函数描述描述AVGAVG平均值COUNTCOUNT行数MAXMAX最高值MINMIN最低值SUMSUM和STDEVSTDEV统计标准偏差STDEVPSTDEVP填充统计标准偏差VARVAR统计方差VARPVARP填充统计方差 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图3.4 汇总计算注意:注意:(1)COMPUTE(1)COMPUTE 或或 COMPUTE BY COMPUTE BY 子句中的

29、表达式,必须出现在选择列子句中的表达式,必须出现在选择列表中,并且必须将其指定为与选择列表中的某个表达式完全一表中,并且必须将其指定为与选择列表中的某个表达式完全一样,不能使用在选择列表中指定的列的别名。样,不能使用在选择列表中指定的列的别名。(2)(2)在在COMPUTECOMPUTE或或COMPUTE BYCOMPUTE BY子句中,不能指定子句中,不能指定ntextntext、texttext和和 imageimage数据类型。数据类型。(3)(3)如果使用如果使用 COMPUTE BYCOMPUTE BY,则必须也使用,则必须也使用 ORDER BY ORDER BY 子句。表达式子句

30、。表达式必须与在必须与在 QRDER BY QRDER BY 后列出的子句相同或是其子集,并且必须后列出的子句相同或是其子集,并且必须按相同的序列。例如,如果按相同的序列。例如,如果 ORDER BY ORDER BY 子句是:子句是:ORDER BY a,ORDER BY a,b,c b,c 则则 COMPUTECOMPUTE子句可以是下面的任意一个子句可以是下面的任意一个(或全部或全部):COMPUTE BY a,b,c COMPUTE BY a,b,c 或或 COMPUTE BY a,b COMPUTE BY a,b 或或 COMPUTE BY aCOMPUTE BY a(4)(4)在在

31、 SELECT INTO SELECT INTO 语句中不能使用语句中不能使用 COMPUTECOMPUTE。因而,任何由。因而,任何由 COMPUTE COMPUTE 生成的计算结果不出现在用生成的计算结果不出现在用 SELECT INTO SELECT INTO 语句创建的语句创建的新表内。新表内。1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图子查询子查询:

32、在在SELECTSELECT语句的语句的WHEREWHERE子句中嵌套另一条子句中嵌套另一条SELECTSELECT语句。语句。3.5 子查询嵌套子查询嵌套子查询的执行不依赖于外部嵌套。嵌套子查询的执的执行不依赖于外部嵌套。嵌套子查询的执行过程为:首先执行子查询,子查询得到的结果集不行过程为:首先执行子查询,子查询得到的结果集不被显示出来,而是传给外部查询,作为外部查询的条被显示出来,而是传给外部查询,作为外部查询的条件使用,然后执行外部查询,并显示查询结果。子查件使用,然后执行外部查询,并显示查询结果。子查询可以多层嵌套。询可以多层嵌套。相关子查询相关子查询是指在子查询中是指在子查询中,子查

33、询的查询条件中引用了子查询的查询条件中引用了外层查询表中的属性值。相关子查询中,首先选取外外层查询表中的属性值。相关子查询中,首先选取外层查询表中的第一行记录,内层的子查询则利用此行层查询表中的第一行记录,内层的子查询则利用此行中相关的属性值进行查询,然后外层查询根据子查询中相关的属性值进行查询,然后外层查询根据子查询返回的结果判断此行是否满足查询条件。如果满足条返回的结果判断此行是否满足查询条件。如果满足条件,则把该行放入外层查询结果集合中。重复这一过件,则把该行放入外层查询结果集合中。重复这一过程的执行,直到处理完外层查询表中的每一行数据。程的执行,直到处理完外层查询表中的每一行数据。1S

34、ELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图3.5 子查询(1)(1)返回单个值返回单个值【例例6.306.30】查询学习杜老师所授课程的学生的学号、姓名、查询学习杜老师所授课程的学生的学号、姓名、该课程名称及分数该课程名称及分数(2)(2)返回一个值列表返回一个值列表【例例6.316.31】查询查询200303200303班没有学习班没有学习9000119000

35、11课程的学生的课程的学生的学号、姓名学号、姓名1 1嵌套子查询嵌套子查询1SELECT概述2简单查询3高级查询 连接查询 使用分组 合并结果集 汇总计算 子查询4视图5本章实训6本章小结2 2相关子查询相关子查询 【例例6.326.32】查询没有学习任何课程的学生的学号、姓名查询没有学习任何课程的学生的学号、姓名 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4 视图4.1 视图的概念4.2 创建视图4.3 修改视图4.4 查询视图4.5 通过视图更新数据4.6 删除视图4

36、.7 使用视图的优点及注意事项1SELECT概述2简单查询3高级查询4视图5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.1 视图的概念 视图视图是由一个或多个数据表是由一个或多个数据表(基本表基本表)或视图导出的或视图导出的虚拟表或查询表,是关系数据库系统提供给用虚拟表或查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。户以多种角度观察数据库中数据的重要机制。视图是虚表视图是虚表。所谓的虚表,视图不是表所谓的虚表,视图不是表。视

37、图只储。视图只储存了它的定义存了它的定义(select(select语句语句),而没有储存视图,而没有储存视图对应的数据,这些数据仍存放在原来的数据表对应的数据,这些数据仍存放在原来的数据表(基表基表),数据与基表中数据同步,即对视图的,数据与基表中数据同步,即对视图的数据进行操作时,系统根据视图的定义去操作数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。与视图相关联的基本表。所谓的虚表,视图又所谓的虚表,视图又像表像表,可以像基本表一样进行数据操作:查询、可以像基本表一样进行数据操作:查询、修改、删除和更新数据。修改、删除和更新数据。1SELECT概述2简单查询3高级查询4视图

38、 视图概念 创建视图 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.2 创建视图 1 1用企业管理器创建视图用企业管理器创建视图(1)1)打开企业管理器,展开数据库,右键单击教学成绩管理数打开企业管理器,展开数据库,右键单击教学成绩管理数据库,在弹出的快捷菜单上选择据库,在弹出的快捷菜单上选择【新建新建】、【视图视图】。如如图图6.96.9所示。所示。(2)(2)在出现的窗口的第一个窗格中单击鼠标右键

39、,在弹出的快在出现的窗口的第一个窗格中单击鼠标右键,在弹出的快捷菜单中选捷菜单中选【添加表添加表】。(3)(3)在添加表对话框中,选择与视图相关联的表、视图或函数在添加表对话框中,选择与视图相关联的表、视图或函数,单击,单击【添加添加】按钮。按钮。如图如图6.106.10所示。所示。(4)(4)在第二个窗格中选择创建视图所需的字段。在第二个窗格中选择创建视图所需的字段。如图如图6.116.11所示。所示。(5)(5)单击单击【保存保存】按钮,输入视图名,单击按钮,输入视图名,单击【确定确定】按钮。按钮。如如图图6.126.12所所1SELECT概述2简单查询3高级查询4视图 视图概念 创建视图

40、 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.2 创建视图 2用T-SQL创建视图 CREATE VIEW 视图名(列名1,n)AS 查询语句注意:注意:(1)(1)定义视图的用户必须对所参照的表或视图有查询权限,定义视图的用户必须对所参照的表或视图有查询权限,即可执行即可执行SELECTSELECT语句。语句。(2)(2)不能使用不能使用COMPUTECOMPUTE或或COMPUTE BYCOMP

41、UTE BY子句。子句。(3)(3)不能使用不能使用ORDER BYORDER BY子句。子句。(4)(4)不能使用不能使用INTOINTO子句。子句。(5)(5)不能在临时表或表变量上创建视图。不能在临时表或表变量上创建视图。1SELECT概述2简单查询3高级查询4视图 视图概念 创建视图 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结【例6.33】创建电子商务班学生信息表视图 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.3 修改视图 使用使用

42、ALTER VIEWALTER VIEW命令命令 ALTER VIEW ALTER VIEW 视图名视图名(列名列名1,n)1,n)AS AS 查询语句查询语句【例例6.346.34】修改修改 电子商务班学生信息表电子商务班学生信息表 视图,增视图,增加联系电话加联系电话1SELECT概述2简单查询3高级查询4视图 视图概念 创建视图 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.4 查询视图 创建视

43、图后,就可以像查询基本表那样对视图进行查询。创建视图后,就可以像查询基本表那样对视图进行查询。【例例6.356.35】查询查询 电子商务班学生信息表电子商务班学生信息表 女生的学号女生的学号,姓姓名名,性别性别,联系电话联系电话1SELECT概述2简单查询3高级查询4视图 视图概念 创建视图 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.5 通过视图更新数据 通过视图更新数据包括插入、修改和删除数据通

44、过视图更新数据包括插入、修改和删除数据1 1插入数据插入数据 使用使用INSERTINSERT命令命令【例例6.366.36】通过视图通过视图 电子商务班学生信息表电子商务班学生信息表 插入插入 学号学号 为为110099110099、姓名姓名 为花和尚、为花和尚、联系电话联系电话 为为0351-0351-63399996339999的男生的男生1SELECT概述2简单查询3高级查询4视图 视图概念 创建视图 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结2 2修改数据修改数据 使用使用UPDATEUPDATE命令命令【例例6.376.37】通过视图通过视图 电子商务班

45、学生信息表电子商务班学生信息表 修改学号修改学号为为110099110099的学生的姓名、性别的学生的姓名、性别3 3删除数据删除数据 使用使用DELETEDELETE命令命令【例例6.386.38】通过视图通过视图 电子商务班学生信息表电子商务班学生信息表 删除学号删除学号为为110099110099的学生的学生 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.6 删除视图 使用使用DROP VIEWDROP VIEW命令命令 DROP VIEW DROP VIEW 视图

46、名视图名,n,n【例例6.396.39】删除视图删除视图 电子商务班学生信息表电子商务班学生信息表 1SELECT概述2简单查询3高级查询4视图 视图概念 创建视图 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.7使用视图的优点及注意事项 优点:优点:(1)(1)为用户集中数据,简化用户的数据查询和处理。有时用为用户集中数据,简化用户的数据查询和处理。有时用户所户所(2)(2)简化用户权限的管理,也增

47、加了安全性。简化用户权限的管理,也增加了安全性。(3)(3)屏蔽数据库的复杂性。屏蔽数据库的复杂性。(4)(4)便于数据共享。便于数据共享。(5)(5)可以重新组织数据以便输出到其他应用程序中。可以重新组织数据以便输出到其他应用程序中。1SELECT概述2简单查询3高级查询4视图 视图概念 创建视图 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图4.7 使用视图的优点及注意事项 注意事项:(1)(1)只有

48、在当前数据库中才能创建视图。只有在当前数据库中才能创建视图。(2)(2)视图的命名必须遵循标识符命名规则,不能与表同名,视图的命名必须遵循标识符命名规则,不能与表同名,且对每个用户视图名必须是惟一的,即对不同用户,即且对每个用户视图名必须是惟一的,即对不同用户,即使是定义相同的视图,也必须使用不同的名字。使是定义相同的视图,也必须使用不同的名字。(3)(3)不能把规则、默认值或触发器与视图相关联。不能把规则、默认值或触发器与视图相关联。(4)(4)不能在视图上建立任何索引,包括全文索引。不能在视图上建立任何索引,包括全文索引。(5)(5)使用视图查询时,若其关联的基本表中添加了新字段,使用视图

49、查询时,若其关联的基本表中添加了新字段,则必须重新创建视图才能查询到新字段。则必须重新创建视图才能查询到新字段。(6)(6)如果与视图相关联的表或视图被删除,则该视图将不能如果与视图相关联的表或视图被删除,则该视图将不能再使用。再使用。1SELECT概述2简单查询3高级查询4视图 视图概念 创建视图 修改视图 查询视图 更新数据 删除视图 优点及事项5本章实训6本章小结 SQL Server 数据库管理与开发北京大学出版社 ISBN 7-301-10173-2/TP.0842 2005.10第第6 6章章 数据查询与视图数据查询与视图实训 实训目的实训目的掌握各种查询方法,包括:单表单条件查询

50、、单表多条件查询、掌握各种查询方法,包括:单表单条件查询、单表多条件查询、多表多条件查询多表多条件查询能对查询结果排序、分组能对查询结果排序、分组掌握视图的建立、修改、使用和删除。掌握视图的建立、修改、使用和删除。实训内容实训内容在第在第5 5章实训创建的数据库章实训创建的数据库 我班同学库我班同学库、数据表、数据表 同学表同学表、宿舍表宿舍表 和录入的真实数据基础上用和录入的真实数据基础上用selectselect命令进行数据查询,命令进行数据查询,包括:条件查询、聚合查询、查询排序、子查询包括:条件查询、聚合查询、查询排序、子查询建立下面视图,体会视图中的年龄、同一宿舍的宿舍电话号码建立下

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁