SQLServer数据库基础 教学课件 ppt 作者 武汉厚溥教育科技有限公司 SQL BASE 第5章

上传人:E**** 文档编号:89494750 上传时间:2019-05-25 格式:PPTX 页数:30 大小:777.34KB
返回 下载 相关 举报
SQLServer数据库基础 教学课件 ppt 作者 武汉厚溥教育科技有限公司 SQL BASE 第5章_第1页
第1页 / 共30页
SQLServer数据库基础 教学课件 ppt 作者 武汉厚溥教育科技有限公司 SQL BASE 第5章_第2页
第2页 / 共30页
SQLServer数据库基础 教学课件 ppt 作者 武汉厚溥教育科技有限公司 SQL BASE 第5章_第3页
第3页 / 共30页
SQLServer数据库基础 教学课件 ppt 作者 武汉厚溥教育科技有限公司 SQL BASE 第5章_第4页
第4页 / 共30页
SQLServer数据库基础 教学课件 ppt 作者 武汉厚溥教育科技有限公司 SQL BASE 第5章_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《SQLServer数据库基础 教学课件 ppt 作者 武汉厚溥教育科技有限公司 SQL BASE 第5章》由会员分享,可在线阅读,更多相关《SQLServer数据库基础 教学课件 ppt 作者 武汉厚溥教育科技有限公司 SQL BASE 第5章(30页珍藏版)》请在金锄头文库上搜索。

1、第5章,数据查询,2,回顾,T-SQL 的组成 T-SQL 语句提高条件表达式和运算符来筛选数据 SELECT 语句查询数据表中所有数据 INSERT 语句向数据表插入数据 利用三种方式同时插入多行数据 使用 UPDATE 语句修改数据表中的数据 DELETE 和 TRUNCATE TABLE 语句删除数据表中数据,3,目标,理解数据库中的查询 在查询中使用字段列表指定输出字段 在查询中使用选择关键字限制记录行数 在查询中对查询记录选择与处理,课程中使用到的2张表,学生信息表: 学生成绩表:,选取全部字段,若要从一个数据库表中选取全部字段作为 SELECT 查询的输出字段,在 SELECT 子

2、句中使用一个符号“*”就可以了,此时还必须用 FROM 子句来指定作为查询的数据源(表,视图等等)。,选取部分字段,要从一个数据库表中选择部分字段作为 SELECT 查询的输出字段,可以在 SELECT 子句中给出包含所选取字段的一个列表,各个字段之间用逗号分隔,字段的顺序可以根据需要任意指定。,设置字段别名,了方便和实际需要,可以指定更容易理解的字段名来取代原来的字段名。 语法格式如下: “原字段名 AS 字段别名” “字段别名 原字段名” “原字段名 字段别名”。,SELECT StuID as 学号, 姓名=StuName, StuSex 性别 FROM Stuinfo,字段的计算,如:

3、用户需要用这样的格式查看数据“性别-学员姓名”。那么,如何使用查询语句来实现呢?,-查看数据“性别-学员姓名” SELECT StuSex + - + StuName as 性别-学员姓名 FROM StuInfo,使用ALL关键字返回全部记录,如果在 SELECT 语句中没有使用任何关键字,则默认使用ALL关键字。,-ALL 关键字 SELECT ALL StuID, StuName, StuSex FROM StuInfo,使用DISTINCT关键字过滤重复记录,在字段列表前面加上选择关键字 DISTINCT,就可以消除查询结果中的重复记录。,SELECT DISTINCT StuID F

4、ROM StuMarks,使用TOP关键字仅显示前面若干条记录2-1,在使用 SELECT 子句选取输出字段时,如果只需要用到所选的前n 条记录时,那么可以在字段列表前面使用 TOP n,则在查询结果中输出前面n条记录,这样可以节省服务器资源,使服务器运算效率更高。,-TOP n SELECT TOP 4 * FROM StuInfo,使用TOP关键字仅显示前面若干条记录2-2,如果在字段列表前面使用 TOP n PERCENT,则在查询结果中显示前面占总记录数的百分比为n的记录。,-TOP n SELECT TOP 4 * FROM StuInfo,对查询结果筛选-使用 WHERE 子句2-

5、1,用户在筛选记录时,需要在 SELECT 语句中加入条件,以选择数据行,这时就用到 WHERE 子句。WHERE子句可包括各种条件运算符: 比较运算符(大小比较):、=、=、!、!,-查询StuInfo 表中所有男生的信息。 SELECT * FROM StuInfo WHERE StuSex = 男,对查询结果筛选-使用 WHERE 子句2-2,例:查询StuInfo 表中除“王五”以外的所有的学员信息。,-查询StuInfo 表中除”王五”以外的所有学员信息。 SELECT * FROM StuInfo WHERE StuName 王五,对查询结果筛选-范围运算符2-1,BETWEENA

6、ND NOT BETWEENAND,-学号在2-4之间的学员信息 SELECT * FROM StuInfo WHERE StuID BETWEEN 2 AND 4,对查询结果筛选-范围运算符2-2,例:查询StuInfo 表中,学号不在2-4之间的学员信息。,-学号不在2-4之间的学员信息 SELECT * FROM StuInfo WHERE StuID NOT BETWEEN 2 AND 4,对查询结果筛选-列表运算符,IN (项1,项2) IN 关键字可以选择与列表中的任意值匹配的行。 NOT IN (项1,项2),-查询StuInfo 表中,学号为1、3、5的学员信息 SELECT

7、* FROM StuInfo WHERE StuID IN (1, 3, 5),对查询结果筛选-空值判断符,IS NULL IS NOT NULL,对查询结果筛选-逻辑运算符,NOT AND OR,-查询StuMarks 表中,学号为1的学员的Java 成绩 SELECT * FROM StuMarks WHERE StuID = 1 and Subject = Java,对查询结果筛选-模式匹配符,LIKE NOT LIKE,-查询StuMarks 表中考试科目名称带有字母“l”的科目名称,并消除重复数据 SELECT DISTINCT Subject FROM StuMarks WHERE

8、 Subject LIKE %l%,对查询结果排序-使用 ORDER BY子句,当用户要对查询结果进行排序时就需要在 SELECT 语句中加ORDER BY子句。 排序的方向可以是升序或降序。ASC 和 DESC 用于指定排序方向。ASC 指定按递增顺序,DESC 则按递减顺序,默认的排序方向为递增顺序。空值(NULL)将被处理为最小值。,-查询StuMarks 表中“Java”成绩,并按照降序排列 SELECT * FROM Stumarks WHERE Subject = Java ORDER BY Score DESC,对查询结果排序-使用ORDER BY 子句对多列进行排序,在ORDE

9、R BY子句中可以使用一个或多个排序要求,优先级次序从左到右。,-查询StuMarks 表中“Java”成绩,并按照降序排列 -成绩相同的按照学号的降序排列 SELECT * FROM Stumarks WHERE Subject = Java ORDER BY Score DESC, StuID DESC,对查询结果排序-ORDER BY子句与 TOP关键字一起使用,用户可通过ORDER BY子句与 TOP关键字搭配使用来选取按照排序之后查询结果中前若干行或前百分比的数据。,-查询StuMarks 表中Java 成绩前的数据 SELECT TOP 3 * FROM StuMarks WHER

10、E Subject = Java ORDER BY Score DESC,对查询结果计算-使用 SUM 函数计算字段的累加和,SUM 函数用于统计数值型字段的总和,它只能用于数值型字段,而且 NULL 值将被忽略。,-查询Java 考试成绩的总和 SELECT SUM(Score) AS Java总和 FROM StuMarks WHERE Subject = Java,对查询结果计算-使用 AVG 函数计算字段的平均值,AVG 函数用于计算一个数值型字段的平均值,该字段中的NULL 值在计算过程中将被忽略。,-查询Java 考试成绩的平均分 SELECT AVG(Score) as Java

11、平均分 FROM StuMarks WHERE Subject = Java,对查询结果计算-使用 MAX 和MIN函数计算字段的最大和最小值,MAX 函数用于返回表达式中的最大值,MIN 函数则用于返回表达式中的最小值,计算过程中遇到 NULL 值时予以忽略。,-查询StuMarks 表中,所有成绩中,最高分和最低分 SELECT MAX(Score) AS 最高分, MIN(Score) AS 最低分 FROM StuMarks,对查询结果计算-使用 COUNT函数统计记录行数,COUNT 函数用于统计字段中选取的项数或查询输出记录行数。,-查询StuInfo 表中总学员总数 SELECT

12、 COUNT(*) 学员总数FROM StuInfo,对查询结果分组-使用 GROUP BY 子句,GROUP BY子句指定将结果集内的记录分成若干个组来输出,每个组中的记录在指定的字段中具有相同的值。 在一个查询语句中,可以使用任意多个字段对结果集内的记录进行分组,字段列表中的每个输出字段必须在 GROUP BY 子句中出现或者用在某个聚合函数中。 使用 GROUP BY 子句时,如果在 SELECT 子句的字段列表中包含有聚合函数,则针对每个组计算出一个汇总值,从而实现对查询结果的分组统计。,-分别统计参加每个科目考试的人数 SELECT Subject AS 科目, COUNT(*) A

13、S 人数 FROM StuMarks GROUP BY Subject,对查询结果分组-使用 HAVING 子句,HAVING 子句用于指定组或聚合的搜索条件,该子句通常与 GROUP BY 子句一起使用。,-统计平均分大于75分的科目 SELECT Subject AS 科目, AVG(Score) AS 平均分数 FROM StuMarks GROUP BY Subject HAVING AVG(Score) 75,小结,所谓查询(Query),就是对储存于SQL Server 2005 中的数据的请求。查询分为两大类:一类是用于数据检索的选择查询(SELECT query),另一类是用于

14、数据更新的行为查询(Action query)。 若要从一个数据库表中选取全部字段作为 SELECT 查询的输出字段,在 SELECT 子句中使用一个符号“*”就可以了。 可以在 SELECT 子句中给出包含所选取字段的一个列表,各个字段之间用逗号分隔,选择部分列并指定它们的显示次序。查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 在字段列表前面加上选择关键字 DISTINCT,可以消除查询结果中的重复记录。 用户在筛选记录时,需要在 SELECT 语句中加入条件,以选择数据行,这时就用到 WHERE 子句。 当用户要对查询结果进行排序时需要在 SELECT 语句中加ORDER BY子句。 掌握SUM 、AVG 、MAX 、MIN 、COUNT 四个聚合函数。 掌握GROUP BY 与 HAVING 的用法。,

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

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

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