SQL Server 2005数据库基础 高职应用技术专业 吴伶琳 杨正校项目4学生基本信息查询

上传人:w****i 文档编号:92368166 上传时间:2019-07-09 格式:PPT 页数:64 大小:1.61MB
返回 下载 相关 举报
SQL Server 2005数据库基础 高职应用技术专业 吴伶琳 杨正校项目4学生基本信息查询_第1页
第1页 / 共64页
SQL Server 2005数据库基础 高职应用技术专业 吴伶琳 杨正校项目4学生基本信息查询_第2页
第2页 / 共64页
SQL Server 2005数据库基础 高职应用技术专业 吴伶琳 杨正校项目4学生基本信息查询_第3页
第3页 / 共64页
SQL Server 2005数据库基础 高职应用技术专业 吴伶琳 杨正校项目4学生基本信息查询_第4页
第4页 / 共64页
SQL Server 2005数据库基础 高职应用技术专业 吴伶琳 杨正校项目4学生基本信息查询_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《SQL Server 2005数据库基础 高职应用技术专业 吴伶琳 杨正校项目4学生基本信息查询》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库基础 高职应用技术专业 吴伶琳 杨正校项目4学生基本信息查询(64页珍藏版)》请在金锄头文库上搜索。

1、SQL Server 2005 数据库基础,项目四 学生基本信息查询,学习目标,工作任务,任务1 查询student表中的若干列,【任务分析】 查询信息是数据库的基本功能之一,通常可以使用SELECT 语句来完成查询操作。本任务要完成对student表的若干列的查询,这里的若干列既可以是全部列、也可以是部分列、也可以是一些列的合成的结果集。因此该任务继续分为下面几个子任务: 任务1.1 查询student表的学生编码、姓名、性别和入学成绩 任务1.2 查询student表的所有学生信息 任务1.3 查询 student表的学生的姓名和年龄,任务1.1:查询student表的学生编码、姓名、性别

2、和入学成绩,程序代码: USE student GO SELECT sno,sname,ssex,sscore FROM student GO,执行结果,分析,执行上述代码,任务1.2:查询student表的所有学生信息,程序代码: USE student GO SELECT * FROM student GO,执行结果,分析,执行上述代码,任务1.3:查询 student表的学生的姓名和年龄,程序代码: USE student GO SELECT sname 姓名,YEAR(GETDATE()-YEAR(sbirthday) 年龄 FROM student GO,执行结果,分析,执行上述代码

3、,任务2 查询student表中的若干列,【任务分析】 本任务要完成对student表的若干行的查询,可以通过WHERE、TOP和DISTINCT来实现。WHERE子句可以筛选出满足条件的记录,TOP可以对记录的条数进行具体限定,而DISTINCT则可以清除一些重复的行。因此该任务继续分为下面几个子任务: 任务2.1 查询student表的“07010211”班的男生信息 任务2.2 应用TOP子句查询choice表中选修“0101001”课程的三位学生 任务2.3 应用DISTINCT子句消除重复行,任务2.1:查询student表的“07010211”班的男生信息,程序代码: USE st

4、udent GO SELECT * FROM student WHERE classno=07010211 AND ssex=男 GO,执行结果,分析,执行上述代码,任务2.2:应用TOP子句查询choice表中选修“0101001”课程的三位学生,程序代码: USE student GO SELECT TOP 3 * FROM choice WHERE cno=0101001 GO,执行结果,分析,执行上述代码,任务2.3:应用DISTINCT子句消除重复行,程序代码: USE student GO SELECT DISTINCT sno FROM choice GO,执行结果,分析,执行上

5、述代码,任务3 查询信息的排序显示,【任务分析】 在student表中查询全体学生的信息,查询结果按所在的班级的班级代码降序排序,同一个班级的学生按照学号升序排序。对于结果的排序可以使用ORDER BY 语句来控制,其中ASC表示升序,DESC表示降序。,程序代码,USE student GO SELECT * FROM student ORDER BY classno DESC,sno ASC GO,执行结果,分析,执行上述代码,任务4 使用LIKE子句实现模糊查询,【任务分析】 在student表中查询陈姓学生的基本信息,查询结果出生年月降序排序。这里的查询条件“陈姓”学生含义比较宽泛,不

6、能直接使用sname=陈来表示,而要使用LIKE子句并跟上通配符的形式,。查询结果排序则可以使用ORDER BY 语句来控制,其中ASC表示升序,DESC表示降序。,程序代码,USE student GO SELECT * FROM student WHERE sname LIKE 陈% ORDER BY sbirthday DESC GO,执行结果,分析,执行上述代码,关系数据库的关系之间可以通过运算获取相关的数据,其基本运算的种类主要有选择、投影和连接运算,它们来自关系代数中的并、交、差、选择、投影等运算。 投影 从一个表中选择一列或者几列形成新表的运算称为投影。投影是对数据表的列进行的一

7、种筛选操作,新表的列的数量和顺序一般与原表不尽相同。在SQL Server中的投影操作通过SELECT子句中限定列名列表来实现。,知识说明:(一)数据库关系,知识说明,选择 从一个表中选择若干行形成新表的运算称为选择。选择是对数据表的行进行的一种筛选操作,新表的行的数量一般跟原表不尽相同。在SQL Server中的选择操作通过WHERE 子句中限定记录条件来实现。 连接 从两个或两个以上的表中选择满足某种条件的记录形成新表的运算称为连接。连接与投影和选择不同,它的运算对象是多表。它可以分为交叉连接、自然连接、左连接、右连接等不同的类型。,知识说明:(二)SELECT,知识说明:(三)WHERE

8、子句的常用查询条件,使用比较运算符 查询所有成绩在90分以下的学生选课信息。 查询职称为教授或者年龄超过50岁的女教师信息。 查询出生日期在1975到1980间的教师信息。,知识说明:(三)WHERE子句的常用查询条件,使用逻辑运算符 查询职称为教授或者年龄超过50岁的女教师信息。 查询出生日期在1975到1980间的教师信息。,知识说明:(三)WHERE子句的常用查询条件,使用 集合运算符 查询“07010111”班或者是“07010211”班的学生信息。 查询“05010111”班或者是“07010211”班的学生信息。,使用字符匹配运算符,知识说明:(三)WHERE子句的常用查询条件,学

9、习目标,工作任务,任务1 创建视图v_xs,【任务分析】 方法一:要查询“计算机应用技术”专业的学生,首先要确定查询所需的数据表有哪些。通过分析我们可以知道使用简单查询(单表查询),显然无法完成。除了用到student表外,还需要用到与之相关的class表和professional表。 方法二:查询的结果要保存成视图,视图是一种虚表,也是SQL Server中的一种数据库的对象,它可以由查询语句生成。,操作步骤-方法一,1、 右击【视图】节点,在弹出的快捷菜单中单击【新建视图】命令,打开“视图设计器”窗口和“添加表”对话框。,操作步骤,2、选择“student”、“class”和“profes

10、sional”表,单击【添加】按钮将其添加进去作为视图的基表。,3、添加完毕后,单击【关闭】按钮关闭“添加表”对话框。,操作步骤,4、在关系图窗格中勾选相应表中的相应列的复选框,即依次选择“student”表中的sno、 sname字段和“class”表中的classname字段, 以及“professional”表中的 pname字段。,操作步骤,5、在条件窗格中的“筛选器”中设置筛选记录的条件。即在条件窗格中选择“professional”表中的“pname”,在“筛选器”列中输入“计算机应用技术”。,操作步骤,6、 在“视图设计器”窗口中,单击【验证T-SQL句法】按钮,检查语法错误。语

11、法正确后,单击红色感叹号按钮执行,可以预览视图结果 。,操作步骤,7、 选择“student”、“class”和“professional”表, 单击【添加】按钮将其添加进去作为视图的基表。,方法二:,程序代码: CREATE VIEW v_xs AS SELECT dbo.student.sno, dbo.student.sname, dbo.class.classname, dbo.professional.pname FROM dbo.class INNER JOIN dbo.professional ON dbo.class.pno = dbo.professional.pno INN

12、ER JOIN dbo.student ON dbo.class.classno = dbo.student.classno WHERE (dbo.professional.pname = 计算机应用技术),执行结果,分析,执行上述代码,任务2 利用视图查询计应0611班的学生信息,任务分析: 视图“v_xs”定义好后,可以像使用数据表一样用视图进行查询。本任务中要使用视图v_xs查询计算机应用技术专业中计应0611班的学生信息。,任务2 利用视图查询计应0611班的学生信息,程序代码: USE student GO SELECT * FROM v_xs WHERE classname=计应0

13、711 GO,执行结果,分析,执行上述代码,任务3 将视图v_xs中的学生金伟更改为“胡伟”,任务分析: 通过视图修改信息,包括数据的增加、删除与更新。本任务要求将视图“v_xs”视图中姓名为“张进”的同学修改为“张劲”,是对数据的更新。由于视图不存储数据实体,实际上的更新操作在源数据表中实施。要完成该任务,可以使用UPDATE语句。,程序代码: USE student GO UPDATE v_xs SET sname=胡伟 WHERE sname=金伟 GO,任务3 将视图v_xs中的学生金伟更改为“胡伟”,执行结果,分析,执行上述代码,知识说明:视图,视图的基础知识 含义:视图是一种数据库

14、对象,它是从一个或多个表或视图导出的虚表,即它可以从一个或多个表中的一列或多个列中提取数据,并按照表的组成行和列来显示这些信息。 分类: 标准视图、分区视图、索引视图。,知识说明:视图,视图的操作-创建 视图的创建既可以使用SQL Server Management Studio中的操作来完成,也可以使用CREATE VIEW语句来定义,它的基本语法为: CREATE VIEW schema_name . view_name (column ,.n ) WITH ,.n AS select_statement ; WITH CHECK OPTION := ENCRYPTION SCHEMABI

15、NDING VIEW_METADATA ,知识说明:视图,视图的操作-修改 视图定义完后,如果对其定义不太满意,既可以通过SQL Server Management Studio的可视化界面来修改,也可以ALTER VIEW语句进行修改。 如果视图不需要时,可以通过SQL Server Management Studio的可视化界面来删除,也可以使用DROP 语句进行删除。DROP语句的语法格式为: DROP VIEW view_name ,n ,学习目标,工作任务,任务1 使用函数查找姓陈的同学,并格式化显示其出生年月,【任务分析】 本任务要查找“陈”姓学生的信息,可以使用前面已经介绍的模糊

16、查询来实现。这个任务要求使用SQL Server中字符串函数LEFT来查找“陈”姓的学生信息。 另外,本任务要求将查询的结果格式化为“1988年8月”这样的形式,直接在SELECT子句中罗列字段sbirthday无法实现这样的显示效果,要用到日期时间函数YEAR及字符串函数STR、LTRIM等。,任务1 使用函数查找姓陈的同学,并格式化显示其出生年月,程序代码: USE student GO SELECT sname 姓名,STR(YEAR(sbirthday)+年+LTRIM(STR(MONTH(sbirthday)+月 AS 出生年月 FROM student WHERE LEFT(sname,1)=陈 GO,执行结果,分析,执行上述代码,任务2 创建自定义函数bjxs,该函数可以根据输入的班级编码返回该班学生的学号、姓名和出生日期,【任务分析】 除了系统函数外,用户还可以根据需要自定义函数,并且调用自定义函数。这

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号