关系型数据库基础 教学课件 ppt 作者 罗瑞明 第四章

上传人:E**** 文档编号:89470260 上传时间:2019-05-25 格式:PPT 页数:34 大小:1.37MB
返回 下载 相关 举报
关系型数据库基础 教学课件 ppt 作者 罗瑞明 第四章_第1页
第1页 / 共34页
关系型数据库基础 教学课件 ppt 作者 罗瑞明 第四章_第2页
第2页 / 共34页
关系型数据库基础 教学课件 ppt 作者 罗瑞明 第四章_第3页
第3页 / 共34页
关系型数据库基础 教学课件 ppt 作者 罗瑞明 第四章_第4页
第4页 / 共34页
关系型数据库基础 教学课件 ppt 作者 罗瑞明 第四章_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《关系型数据库基础 教学课件 ppt 作者 罗瑞明 第四章》由会员分享,可在线阅读,更多相关《关系型数据库基础 教学课件 ppt 作者 罗瑞明 第四章(34页珍藏版)》请在金锄头文库上搜索。

1、关系型数据库基础,项目一:“学生成绩管理系统”数据库设计和应用 任务四:数据查询,1,关系型数据库基础,任务四 数据查询,知识目标 了解数据查询的方法。 了解对查询结果进行筛选的方法。 了解对查询结果进行排序的方法。 了解对查询结果进行分组和统计的方法。 了解从多个表中查询关联数据的方法。 能力目标 能够根据要求,从数据表中查询满足检索条件的记录。 能够根据要求,对查询的结果排序。 能够根据要求,对查询结果进行分组筛选和统计。 能够根据要求,从不同的数据表中检索相关联的记录。 能够根据实际业务中对数据查询的要求,综合运用各种查询方法,编写相应的查询语句。,2,关系型数据库基础,4.1 任务描述

2、,根据“学生成绩管理系统”的客户需求,完成与数据查询相关的功能,3,关系型数据库基础,4.2 任务实施,无论采用何种类型的查询,对数据的查询都是采用SELECT语句进行。 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下: SELECT 列名列表 FROM 表名 WHERE 查询条件 GROUP BY 分组表达式 HAVING 统计条件 ORDER BY 排序表达式 ,4,关系型数据库基础,4.2.1 步骤一:选择列的查询,(1)指定列 任务描述:查询所有学生的学号、姓名和班级信息。 分析:将需要的列依次在Select之后的“列名列表”中列出,列与列之间用逗号间隔开 SELECT

3、 stuNo,name,className FROM tb_student,5,关系型数据库基础,提示:,SELECT语句的“列名列表”中,各个列的先后顺序可以与表中的顺序不一致。 良好的查询习惯是在Select语句中指定出所需要查询的列,而不是“Select * from 表名”的形式。这样,不需要的列中的数据就不会出现在查询结果中,节约了系统的开销,提高了运行效率。,关系型数据库基础,6,(2)给列取别名,任务描述:如图所示,要求查询班级的信息,列名分别显示:“班级名”,“班主任”和“所在系”。,7,关系型数据库基础,给列取别名,在显示结果集时,可以指定显示的名字(通常也叫别名)来代替原来

4、的列名。有3种方法指定别名: 通过“列名 AS 别名”形式 通过“列名 别名”形式 通过“别名 = 列名”形式,关系型数据库基础,8,(3)计算列,任务描述:如图所示,要求查询学生的信息,期中一个列显示“在学号后面紧接着姓名”的形式。,关系型数据库基础,9,计算列,任务分析:该显示结果的中的第一列项不是通常的列名和结果信息,而是通过计算产生的。这里的计算表达式为:stuNo+name 。 任务实施: SELECT stuNo+name ,sex ,className FROM tb_student,关系型数据库基础,10,4.2.2 步骤二:选择行的查询,11,关系型数据库基础,1. 满足条件

5、的行 查询满足条件的记录可以通过在WHERE子句后面构造条件表达式来实现。,(1)比较条件查询,任务描述:查询籍贯是“广东深圳”的学生信息。,关系型数据库基础,12,(2)指定范围查询,任务描述:查询成绩优秀(80100分)的信息。 任务分析:成绩在80100之间的查询条件可以使用BETWEENAND,即在某一范围。,关系型数据库基础,13,(3)指定列表查询,任务描述:查询01软件-1、02文秘-1和03文秘-1三个班的学生信息。 任务分析:IN谓词用于查找属于指定列表中的记录。,关系型数据库基础,14,(4)模糊查询,任务描述:查询学校所有01级的班级信息。 任务分析:所有01级的班级的共

6、同特点是className都是以“01”开头,因此查询条件为className的内容为“01”开头,其后为任意字符即可。谓词LIKE可以用来进行字符串的匹配。其一般语句格式为:NOT LIKE 可以是一个完整的字符串,也可以含有“%”和“_”等通配符。,关系型数据库基础,15,(5)空值判断查询,任务描述:由于学生还没有参加某个科目的考试,因此该学生的该科目在成绩表(tb_stuToCourse)的对应字段中还是空值,查询成绩表中分数为空的记录,如图所示。 任务分析:在SQL语句中,判断是否空值不能使用等号(=),而应该使用“IS”。IS NULL表示空,IS NOT NULL 表示非空。,关

7、系型数据库基础,16,(6)查询条件中的逻辑运算,任务描述:查询02文秘-1班的所有女同学的信息。 任务分析:本任务的查询条件中实际包含两个条件:className = 02文秘-1班 和 sex = 女,可以使用逻辑运算符将这两个条件连接起来。这里的两个条件是“并且”的逻辑关系,可使用“AND”运算符。,关系型数据库基础,17,2. 消除重复的行,任务描述:通过班级表(tb_class)查询总共有几个系部,每个系部只需要显示一次。 任务分析:查询的结果中包含了重复的数据,如果需要去除重复显示,则可以指定DISTINCT关键字。,关系型数据库基础,18,3. 前N行,任务描述:查看学生表中前3

8、个学生的信息。 任务分析:在SELECT语句中,可以使用TOP子句限制查询结果的行数,一般形式为:TOP nPERCENT n指定返回的行数,如果有PERCENT指定返回的结果行的百分比。,关系型数据库基础,19,4.2.3 步骤三:查询结果排序,任务描述:按照由小到大的顺序,查询学生的成绩信息。 任务分析:ORDER BY子句用于对查询结果进行排序。它可以按照一个或多个字段对查询结果进行升序(ASC)或降序(DESC)排序。其中,升序(ASC)为默认设置。如果有WHERE子句,ORDER BY 子句必须放在WHERE子句后面。,20,关系型数据库基础,任务拓展,任务描述:查询分数最高的5个成

9、绩信息,关系型数据库基础,21,4.2.4 步骤四:查询结果分组统计,1、GROUP BY子句 任务描述:分别查询统计全校男老师和女老师的人 任务分析:要分别统计男女老师的人数,首先需要对老师按照性别分组,然后再分别统计男老师和女老师的记录数。 GROUP BY子句进行分组,聚合函数对记录组进行统计。,关系型数据库基础,22,查询结果分组统计,2、HAVING子句 任务描述:查询平均成绩在75分以上的各个科目的平均成绩 任务分析:平均成绩75的条件子句“AVG(score)75”必须写在HAVING子句中。,关系型数据库基础,23,提示,同样属于查询条件,WHERE子句设置的查询条件在GROU

10、P BY子句之前发生,而HAVING子句是在分组统计之后,对统计的结果进行条件筛选,所以WHERE子句写在GROUP BY 子句之前,而HAVING子句写在GROUP BY子句之后。 HAVING子句可以包含聚合函数,而WHERE子句不能包含聚合函数。,关系型数据库基础,24,4.2.5 步骤五:连接查询,任务描述:学生处的李老师和教务处的刘老师经常要查询班级的基本情况和学生的课程成绩,通过下述5个子任务完成相关的信息查询与统计。 1、查询学院所有班级的基本情况,要求显示班级名称和班主任的姓名; 2、查询显示所有学生信息及其所在的班级和系部名称; 3、查询某学生(如学号为200100001)的

11、课程成绩,以及课程的编号、名称和学分信息; 4、查询某个班级(如01软件-1班)的所有学生考试成绩。 5、查询某个班级(如01软件-1班)的所有学生考试成绩(显示学号、姓名、班级、学期、课程代码和分数),如果学生的学号只在班级中出现,没有在成绩表中出现,则该学生信息部分依旧显示,但其考试信息部分全部显示为NULL。,关系型数据库基础,25,每个查询所需要的数据并不是都在同一个表中,连接查询 相关知识,连接查询主要包括:交叉连接、内连接和外连接三种情况。 交叉连接。 交叉连接查询是指返回两个表的笛卡尔积作为查询结果的连接方式,一般形式为: SELECT 字段列表 FROM 表1 CROSS JO

12、IN 表2,关系型数据库基础,26,2、内连接,内连接是用比较运算符比较要连接字段的值,通过对两个表之间共性的字段进行等值比较,实现两个表之间的连接操作,而两个表中任何不匹配的数据行将不会出现在结果集中。一般形式为: SELECT 字段列表 FROM 表1 INNER JOIN 表2 ON 表1.共性字段 = 表2.共性字段 或者 SELECT 字段列表 FROM 表1, 表2 WHERE 表1.共性字段 = 表2.共性字段 ,关系型数据库基础,27,3、外连接,在内连接操作中,只有满足连接条件的记录才能出现在结果集中,但是如果想显示一个表中与另一个表不匹配的行,就需要借助于外连接来实现。 左

13、外连接 右外连接 全外连接,关系型数据库基础,28,任务实施,1. 查询学院所有班级的基本情况,要求显示班级名称和班主任的姓名。,关系型数据库基础,29,任务实施(续),2. 查询显示所有学生信息及其所在的班级和系部名称。,关系型数据库基础,30,任务实施(续),3. 查询某学生(如学号为200100001)的课程成绩,以及课程的编号、名称和学分信息。,关系型数据库基础,31,任务实施(续),4. 查询某个班级(如01软件-1班)的所有学生课程成绩。,关系型数据库基础,32,任务实施(续),5. 查询某个班级(如01软件-1班)的所有学生考试成绩(显示学号、姓名、班级、学期、课程代码和分数),如果学生的学号只在班级中出现,没有在成绩表中出现,则该学生信息部分依旧显示,但其考试信息部分全部显示为NULL。,关系型数据库基础,33,2.3小结,关系型数据库的数据查询都要用到SELECT语句。 一般的查询只包括选择列、FROM子句和WHERE子句,它们也是最常用的查询语句。 使用ORDER BY子句可以对查询结果排序。 使用聚合函数和分组汇总子句(GROUP BY 和HAVING)对查询结果进行分组和统计。 使用连接可以从两个或者更多的表中查询数据。,34,关系型数据库基础,

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

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

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