数据库应用技术 SQL Server 2005 教学课件 ppt 周慧 6

上传人:E**** 文档编号:89403624 上传时间:2019-05-24 格式:PPT 页数:55 大小:661.50KB
返回 下载 相关 举报
数据库应用技术 SQL Server 2005  教学课件 ppt 周慧 6_第1页
第1页 / 共55页
数据库应用技术 SQL Server 2005  教学课件 ppt 周慧 6_第2页
第2页 / 共55页
数据库应用技术 SQL Server 2005  教学课件 ppt 周慧 6_第3页
第3页 / 共55页
数据库应用技术 SQL Server 2005  教学课件 ppt 周慧 6_第4页
第4页 / 共55页
数据库应用技术 SQL Server 2005  教学课件 ppt 周慧 6_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《数据库应用技术 SQL Server 2005 教学课件 ppt 周慧 6》由会员分享,可在线阅读,更多相关《数据库应用技术 SQL Server 2005 教学课件 ppt 周慧 6(55页珍藏版)》请在金锄头文库上搜索。

1、数据库应用技术 SQL Server 2005,,烟 台 职 业 学 院 精 品 课,SQL Server 2005,第6章 SQL Server 2005 T-SQL数据查询,能力目标: SQL数据查询是数据库的重要技术,是数据库的主要应用目的;熟练掌握各种查询为数据库应用系统的开发奠定基础; 能根据项目需求分析对表进行投影查询、连接查询、选择查询、分组统计查询、限定查询、排序查询、保存查询; 培养数据库开发的基本能力和团队沟通能力。 任务设计: 对项目数据库的表进行大量的、全方位的查询操作; 重点进行表的投影查询、连接查询、选择查询、分组统计查询、限定查询、排序查询、保存查询; 阅读数据库

2、开发应用程序中的查询代码。,SQL Server 2005,第6章 SQL Server 2005 T-SQL数据查询,知识要求: 查询语法格式和使用; 投影查询、连接查询、选择查询、分组统计查询、限定查询、排序查询和保存查询; 多表复杂连接查询; 子查询。,SQL Server 2005,6.1 SQL Server 2005表的基本知识,SELECT查询语句,1,连接查询,2,子查询,3,联合查询,4,1,小结,5,SQL Server 2005,6.1.1 SELECT语句的语法格式,SELECT ALL|DISTINCT 列表达式 INTO 新表名 FROM 表名列表 WHERE 逻辑

3、表达式 GROUP BY 列名 HAVING逻辑表达式 ORDER BY 列名ASC|DESC,SQL Server 2005,6.1.2 SELECT语句的执行方式,步骤: 单击工具栏上的“新建查询”按钮,在右边窗口输入查询语句,单击工具栏或“查询”菜单中的“执行”,可在右下方的窗口看到查询的结果。 例子:图书管理系统数据库Library 表Reader(RID,Rname,TypeID,Lendnum) PK:RID 表Book (BID,Bname,Author, PubComp, PubDate,Price) PK:BID 表Borrow (RID, BID,LendDate, Ret

4、urnDate) PK:RID, BID FK:RID和BID 表ReaderType(TypeID, Typename,LimitNnm, LimitDays),SQL Server 2005,6.1.3 SELECT子句投影查询,语法:SELECT ALL|DISTINCT TOP integer|TOP integer PERCENT WITH TIES 列名表达式1, 列名表达式2, 列名表达式n 其中:表达式中含列名,常量,运算符,列函数 下面通过几个例子将参数应用进行说明: 投影部分列 TOP关键字限制返回行数 是否去重复元组 投影所有列 自定义列名 字段函数(列函数) INTO保

5、存查询,SQL Server 2005,6.1.3 SELECT子句投影查询,投影部分列:从教务管理数据库EDUC的学生表Student中查询出男生的编号、姓名和性别三列的记录。 USE EDUC GO SELECT SID,Sname,Sex FROM Student WHERE Sex=男 查询结果如右图所示:,SQL Server 2005,6.1.3 SELECT子句投影查询,TOP关键字限制返回行数 :从图书管理数据库Library的图书表Book中查询出前5条纪录。 USE Library GO SELECT TOP 5 BID,Bname,Author FROM Book GO

6、查询结果如下图所示:,SQL Server 2005,6.1.3 SELECT子句投影查询,是否去重复元组 : All:检出全部信息(默认) Distinct:去掉重复信息 例如:从教务管理数据库EDUC的学生表Student中查询出专业Specialty的名称。 USE EDUC GO SELECT DISTINCT Specialty FROM Student 查询结果如右图所示:,SQL Server 2005,6.1.3 SELECT子句投影查询,投影所有列 : 通配符*:所有字段 例如:从图书管理数据库Library的读者类型表ReaderType中查询所有纪录 USE Librar

7、y SELECT * FROM ReaderType 查询结果如下图所示:,SQL Server 2005,6.1.3 SELECT子句投影查询,自定义列名 : 指定的列标题=列名 或者 列名 AS 指定的列标题 例如:在上例中用中文显示列名 USE Library SELECT TypeID AS 类型编号, Typename AS 类型名称,LimitNum AS 限借数量, LimitDays AS 限借天数 FROM ReaderType 查询结果如下图所示:,SQL Server 2005,6.1.3 SELECT子句投影查询,字段函数(列函数): 求和:SUM 平均:AVG 最大:

8、MAX 最小:MIN 统计:COUNT 例如:从图书管理数据库Library中图书表Book中查询出中图书最高价和最低价 USE Library GO SELECT MAX(Price) AS 最高价,MIN(Price) AS 最低价 FROM Book GO 查询结果如下图所示:,SQL Server 2005,6.1.3 SELECT子句投影查询,INTO保存查询 : into 临时表名(根据查询建立临时基本表 ) 例如:从选课表中将学生学号、课程号、成绩字段的内容另存在临时表student_course中 SELECT SID,CID,GRADE INTO student_course

9、 FROM SC,SQL Server 2005,6.1.4 FROM子句连接查询,格式:FROM基本表名/视图,基本表名/视图, 功能:提供基本表或视图的连接查询 下面通过两个例子对两种不同情况进行说明进行说明: 指定基本表或视图 TOP关键字限制返回行数 为基本表指定临时别名 格式:基本表名 别名 功能:简化表名,实现自连接,SQL Server 2005,6.1.4 FROM子句连接查询,例1:从教务管理数据库EDUC中查询出学生选课的成绩信息 USE EDUC GO SELECT Sname,Cname, Grade FROM Student, SC ,Course Where Stu

10、dent.SID=SC.SID AND SC.CID=Course.CID 查询结果如右图所示:,SQL Server 2005,6.1.4 FROM子句连接查询,例2:从教务管理数据库EDUC中查询出选了两门课程的学生的学号 USE EDUC GO SELECT X. SID DISTINCT FROM SC X,SC Y WHERE X.SID=Y.SID and X.CID=Y.CID 查询结果如右图所示:,SQL Server 2005,6.1.5 WHERE子句选择查询,格式:WHERE逻辑表达式 功能:实现有条件的查询运算 下面通过几个例子将不同运算符应用进行说明: 比较运算符 逻

11、辑运算符 范围运算符 模式匹配运算符 列表运算符 空值判断符,SQL Server 2005,6.1.5 WHERE子句选择查询,比较运算符 ,,=,22 and Sex =女 查询结果如下图所示:,SQL Server 2005,6.1.5 WHERE子句选择查询,范围运算符 格式:列名 not between 开始值 and 结束值 说明:列名是否在开始值 and 结束值之间。 等效:列名=开始值 and 列名结束值 (选not) 例3:从图书表中查询出定价在10元到15元之间的图书信息 USE Library GO SELECT BID AS 图书编号,Bname AS 书名,Price

12、 AS 定价 FROM Book WHERE Price between 10 and 15 GO 查询结果如图所示:,SQL Server 2005,6.1.5 WHERE子句选择查询,模式匹配运算符 语法:NOT LIKE 通配符 说明:通配符_:一个任意字符;通配符:任意个任意字符 例4:查询出姓“王”的所有学生的信息 USE EDUC GO SELECT * FROM Student WHERE Sname LIKE 王% 查询结果如图所示:,SQL Server 2005,6.1.5 WHERE子句选择查询,列表运算符 语法:表达式NOTIN (列表1,列表2) 说明:表达式的值在(

13、不在)列表所列出的值中 例5:查询学号为2005216007和2006216578的学生的信息 USE EDUC GO SELECT * FROM Student WHERE SID in(2005216007,2006216578) 查询结果如图所示:,SQL Server 2005,6.1.5 WHERE子句选择查询,空值判断符 语法:IS NOT NULL 例6:从借阅表中查询出没有还书的读者信息 USE Library GO SELECT Borrow.RID,Rname,BID FROM Borrow,Reader WHERE Borrow.RID= Reader .RID and

14、ReturnDate IS NULL GO 查询结果如图所示:,SQL Server 2005,6.1.6 GROUP BY子句分组统计查询,格式:GROUP BY 列名 功能:与列名或列函数配合实现分组统计 说明:投影列名必须出现相应的GROUP BY列名 例子:从图书表中查询各出版社图书的总价。 USE Library GO SELECT PubComp,总价=SUM(price) FROM Book GROUP BY PubComp GO 查询结果如右图所示:,SQL Server 2005,6.1.7 HAVING子句限定查询,格式:HAVING 逻辑表达式 功能:与GROUP BY选

15、项配合筛选(选择)统计结果 说明:常用列函数作为条件,列函数不能放在WHERE中 例子:从选课表中查询总分超过150分的学生的学号、姓名和总成绩 USE EDUC GO SELECT SC.SID,Student.Sname,总成绩=SUM(GRADE) FROM SC,Student WHERE SC.SID=Student.SID GROUP BY SC.SID,Student.Sname HAVING SUM(GRADE)150 查询结果如右图所示:,SQL Server 2005,6.1.8 ORDER BY排序查询,格式:ORDER BY 列名表达式表 asc/ des 功能:排序

16、说明:只能在外查询中使用 例子:查询每个学生的选课门数并按选课门数的多少进行排序 USE EDUC1 GO SELECT student.SID, COUNT(*) AS 选课门数 FROM Student, SC WHERE Student.SID =SC.SID GROUP BY Student.SID ORDER BY COUNT(*) 查询结果如右图所示:,SQL Server 2005,6.2 连接查询,连接方法和种类,1,内连接,2,左连接,3,右连接,4,1,外连接,5,自连接,6,外连接,自连接,8,7,SQL Server 2005,6.2.1 连接方法和种类,SQL Server提供了不同的语法格式支持不同的连接方式 用于FROM子句的ANSI连接语法形式 SELECT 列名列表 FROM 表名1连接类型

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

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

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