sqlserver教程第6章.ppt
《sqlserver教程第6章.ppt》由会员分享,可在线阅读,更多相关《sqlserver教程第6章.ppt(53页珍藏版)》请在三一办公上搜索。
1、第6章 数据检索,鸡尾酒设计制作,6.1 SQL概述,6.2 使用SELECT语句的简单查询,6.3 常用的其他关键字,6.4 高级查询,6.5 本章小结,6.1 SQL概述,SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括:1、综合统一 2、高度非过程化 3、使用广泛 4、简单易学,书写自由,6.1 SQL概述,1.一般语法格式 SELECT 目标列表达式 FROM 表名 2.演示【例1】,注意【思考】!3.自己看【例2】,同学演示,分析结果4
2、.【例3】消除重复行。了解关键字 ALL|DISTINCT,6.2 使用SELECT语句的简单查询-SELECT 子句,控制在查询的结果中显示重复行,可以按照如下的语法书写:SELECT ALL|DISTINCT 目标列表达式 FROM 表名 ALL关键字是默认的,DISTINCT消除重复列。【练习】显示课程表中教师姓名,尝试去掉重复行(一个教师可能教授多门课程)。,6.2 使用SELECT语句的简单查询-SELECT 子句,5、重新命名列标题 学习【例4】,总结得到一般格式 SELECT table_list AS new_name6、【练习】Select 班级号=ClaNo,班级名称=Cl
3、aName,所属系部=Department,人数=Number From Class,6.2 使用SELECT语句的简单查询-SELECT 子句,7、综合运用【例】查询所有学生的年龄。,6.2 使用SELECT语句的简单查询-SELECT 子句,FROM子句跟在SELECT子句之后,用于指定被查询的表,可以是单表或者派生表,也可以是多张表,还可以是视图或者临时表。【例6】查询所有选课学生的姓名,性别和成绩。-给表加别名,6.2 使用SELECT语句的简单查询-FROM 子句,WHERE子句作为查询的限定条件是可选的,但在使用时必须接在FROM子句之后,用来限定查询结果。【例8】查询出生时间在1
4、988年以后的学生的情况。Select*from Studentwhere Birthday=1989-1-1,6.2 使用SELECT语句的简单查询-WHERE 子句,【例9】查询男生中备注列不为空的学生的情况【分析】本题目有两个要求,一是性别为“男”,二是备注列不为空。Select StuNo,StuName,Sex,Notesfrom Studentwhere Sex=男 AND Notes IS NOT NULL 自学【例10】,6.2 使用SELECT语句的简单查询-WHERE 子句,GROUP BY子句指定对查询单结果分组的条件,并且如果SELECT子句中包含了聚合函数,则计算每组
5、的汇总值。【例11】查询班级表Class中每个系的总人数。Select Department,SUM(Number)as 人数from ClassGROUP BY Department,6.2 使用SELECT语句的简单查询-GROUP BY 子句,【相似】和SUM()相似的聚合函数还有求平均值的AVG()函数,求最大值的MAX(),求最小值的MIN()以及计算行数的COUNT()函数。【例12】查询学生表Student中总共的学生数。Select count(*)as 总人数from Student 自学【例13】,完成之后的“思考”,6.2 使用SELECT语句的简单查询-GROUP BY
6、 子句,HAVING子句和WHERE子句类似,后面都是跟选择的条件。使用HAVING子句必须是在使用GROUP BY的前提下,HAVING对分组的结果进行筛选,不满足条件的不显示出来。【例11】选课表(成绩表)中存在一个学生选修多门课程的情况,查询每个学生所选课程的平均成绩。要求只显示平均成绩在80分以上(含80分)的学生信息。【分析】只需要在例10的结果集中筛选,将平均成绩在80分以下的信息不予显示。,6.2 使用SELECT语句的简单查询-Having 子句,Select StuNo,AVG(Grade)as averagefrom Scoregroup by StuNo Having A
7、VG(Grade)=80【思考与练习】既然HAVING子句和WHERE子句后面都是跟选择的条件,那么可以把本例中的HAVING子句后的条件写到WHERE上吗,试试看!【例12】查询每门课程的选修人数,包括课程编号和选修人数,只显示选修人数大于5人的情况。,6.2 使用SELECT语句的简单查询-Having 子句,【分析】查询选修人数实际就是看成绩表Score中同一门课程号对应有几个学号(或者几个成绩)。要用到分组和筛选。Select CouNo,count(StuNo)as 选修人数from Score group by CouNo having count(StuNo)5【注意】凡是要对聚
8、合函数用比较运算符(,!=,=),条件必须放在HAVING子句。,6.2 使用SELECT语句的简单查询-Having 子句,如果要将数据按某列的顺序显示出来,就必须使用ORDER BY排序。ORDER BY使用两个保留字ASC 和DESC,ASC是按升序(递增)排列,DESC是按照降序(递减)排列,默认的排序顺序是升序排列(A-Z,a-z,0-9).【例12】查询班级表Class中所有班级的名称和人数。将查询的结果按照人数的升序排列。Select ClaName,Numberfrom Classorder by Number ASC,6.2 使用SELECT语句的简单查询-ORDER BY
9、子句,【思考与联系】在排序列出现有NULL值的时候,如果按升序排列,那么NULL是在最顶端还是在最底端?,6.2 使用SELECT语句的简单查询-ORDER BY 子句,使用LIKE关键字可以实现模糊查询的功能。运算符LIKE可用来进行字符串的匹配,LIKE后面跟的是匹配模式。匹配模式可以是一个包含通配符“%”(百分号),“_”(下划线),“(中括号)”和“(取反)”的字符串。【例13】查询所有姓“李”的学生的学号、姓名和性别【分析】姓“李”那么有可能是两个字的姓名,也可能是三个字的姓名。Select StuNo,StuName,Sexfrom StudentWhere StuName lik
10、e 李%,6.3 常用的其他关键字-LIKE 关键字,【例13】查询课程名称中包含“计算机”的课程的编号、名称、开课类型及学分【分析】课程名称中包含“计算机”,它有可能出现在名称的开始,也可能是中间还可能是在结束部分。Select CouNo,CouName,Kind,Creditfrom CourseWhere CouName like%计算机%,6.3 常用的其他关键字-LIKE 关键字,【例14】查询课程编号第一个字符为“X”或者“Y”,第六个字符为数字的课程编号和课程名称。Select CouNo,CouNamefrom CourseWhere CouNo like xy_ _ _ _
11、0-9%自己学习【例20】,6.3 常用的其他关键字-LIKE 关键字,NULL值与“0”值不同,NULL表示该值没有输入,也就是还没有确定,而“0”值则已是确定的值。可以在 WHERE子句中用IS NULL或者 IS NOT NULL来判断某一列是否输入了数据。【例16】查询成绩表Score中选修了课程但是没有成绩的学生的选课情况。Select StuNo,CouNo,GradeFrom ScoreWhere Grade IS NULL;GO-【注意】,6.3 常用的其他关键字-NULL 关键字,指定查询结果中将只返回结果集的前面部分行数据。这组行可以是某一数量的行也可以是某一百分比数量的行
12、。TOP 表达式可用在 SELECT、INSERT、UPDATE 和 DELETE 语句中。【例17】查询年龄最大的前5个学生的记录【分析】学生的年龄最大实际就是出生时间最小,只需要将结果按照出生时间的升学排列。TOP 关键字的语法:TOP integer PERCENT WITH TIES,6.3 常用的其他关键字-TOP 关键字,Select TOP 5 StuName,Sex,ClaName,Birthdayfrom StudentORDER BY Birthday【例18】查询学生表Student中前20%的学生记录,包括学号,姓名,性别,班级和籍贯等信息。Select TOP 20
13、percent StuName,Sex,ClaName,Cityfrom StudentORDER BY Birthday 自己学习【例24】,6.3 常用的其他关键字-TOP 关键字,BETWEENAND关键字用与放在搜索条件中表示范围,可以是时间范围也可以是数字范围。【例20】查询出生时间在1988年至1989年学生的姓名、性别和出生时间。Select StuName,Sex,Birthdayfrom StudentWhere Birthday between 1988-1-1 and 1989-12-31GO,6.3 常用的其他关键字-BETWEENAND关键字,【注意】1、betwee
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserver 教程

链接地址:https://www.31ppt.com/p-6520734.html