第8章数据库表的高级操作教学课件.ppt
《第8章数据库表的高级操作教学课件.ppt》由会员分享,可在线阅读,更多相关《第8章数据库表的高级操作教学课件.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 8.1 限定条件的查询限定条件的查询 8.2 使用使用GROUP BY子句的查询子句的查询 8.3 使用聚合函数的查询使用聚合函数的查询 8.4 使用使用ORDER BY子句的查询子句的查询 8.5 使用使用UNION组合多个运算结果组合多个运算结果23 SELECT语句中的语句中的WHERE子句是用来控制结子句是用来控制结果集的记录构成。可以在果集的记录构成。可以在WHERE子句中指定一子句中指定一系列查询条件,而只有这些满足条件的记录集才系列查询条件,而只有这些满足条件的记录集才可以用来构造结果集。可以用来构造结果集。 WHERE子句中的查询或限定条件如下:子句中的查询或限定条件如下:
2、 比较运算符(如比较运算符(如=、)。)。 范围说明(范围说明(BETWEEN和和NOT BETWEEN)。)。 可选值列表(可选值列表(IN、NOT IN)。)。 模式匹配(模式匹配(LIKE 和和 NOT LIKE)。)。 上述条件的逻辑组合(上述条件的逻辑组合(AND 、OR 和和 NOT)。)。4 1比较查询条件比较查询条件 比较查询条件的表达式由比较的双方和比比较查询条件的表达式由比较的双方和比较运算符组成。系统将根据查询条件的真假来较运算符组成。系统将根据查询条件的真假来决定某一条记录是否满足该查询条件,最后满决定某一条记录是否满足该查询条件,最后满足该查询条件的记录才会出现在最终
3、的结果集足该查询条件的记录才会出现在最终的结果集中。注意:中。注意:texttext、ntextntext和和imageimage数据类型不能数据类型不能同比较运算符组合成查询条件。同比较运算符组合成查询条件。【例例8.18.1】在在“读者读者”表中检索年龄不大于表中检索年龄不大于2020岁的岁的读者姓名。读者姓名。 程序代码如下程序代码如下: : USE TSGL USE TSGL SELECT SELECT 姓名姓名 FROM FROM 读者读者 WHERE WHERE 年龄年龄=2020 AND 20 AND 年龄年龄2525 OR 25 OR 年龄年龄20207图图8-1 例例8.3程
4、序运行结果程序运行结果8 3列表查询条件列表查询条件 包含列表查询条件的查询将返回所有与列表中任意一个值包含列表查询条件的查询将返回所有与列表中任意一个值匹配的记录,通常使用匹配的记录,通常使用ININ关键字(包含)来指定列表查关键字(包含)来指定列表查询条件。列表中的项目之间必须使用逗号分隔。询条件。列表中的项目之间必须使用逗号分隔。【例例8.48.4】在在“读者读者”表检索专业是计算机应用或自动控制表检索专业是计算机应用或自动控制的读者姓名。的读者姓名。程序代码如下:程序代码如下:USE TSGLUSE TSGLSELECT SELECT 姓名姓名, ,专业专业 FROM FROM 读者读
5、者 WHERE WHERE 专业专业 IN(IN(计算机应用计算机应用, , 自动控制自动控制)也可以不使用也可以不使用ININ关键字进行查询,如:关键字进行查询,如:USE TSGLUSE TSGLSELECT SELECT 姓名姓名, ,专业专业FROM FROM 读者读者WHERE WHERE 专业专业 = = 计算机应用计算机应用 OR OR 专业专业 = = 自动控制自动控制 9 4模式查询条件模式查询条件 模式查询条件通常用来返回符合某种格式的模式查询条件通常用来返回符合某种格式的所有记录,可以使用所有记录,可以使用LIKELIKE或或NOT LIKENOT LIKE关键字来指关键
6、字来指定模式查询条件。定模式查询条件。LIKELIKE关键字使用通配符来表示关键字使用通配符来表示字符串需要的匹配模式,如表字符串需要的匹配模式,如表8-18-1所示。所示。LIKELIKE关关键字的使用格式举例如表键字的使用格式举例如表8-28-2所示。所示。【例例8.58.5】在在“读者读者”表中检索专业以表中检索专业以“计算机计算机”开头的读者姓名。开头的读者姓名。程序代码如下程序代码如下: :USE TSGLUSE TSGLSELECT SELECT 姓名姓名, ,专业专业FROM FROM 读者读者WHERE WHERE 专业专业 LIKE LIKE 计算机计算机%10通配符含义%由
7、零个或者更多字符组成的任意字符串_任意单个字符用于指定范围,例如a-h,表示a到h范围内的任何单个字符用于指定范围,例如a-h,表示a到h范围以外的任何单个字符表表8-1 通配符及其含义通配符及其含义Like格式检索范围Like Me%查询以字母Me开头的所有字符串(如Mengyue)Like %ing查询以字母ing结尾的所有字符串(如ming、string)Like %en%将查询在任何位置包含字母en的所有字符串(如meng、green)Like _engyue将查询以字母engyue结尾的所有7个字母的名称(如mengyue)Like B-King将查询以字符串ing结尾,以从B到K任
8、何字母开头的所有名称Like Md%建查询以字母M开头,并且第二个字母不是d的所有名称表表8-2 LIKE关键字的使用格式举例关键字的使用格式举例11 5逻辑运算符逻辑运算符 除了前面已经提到的查询条件外,还需要使除了前面已经提到的查询条件外,还需要使用逻辑运算符才能组成完整的查询条件。逻辑运用逻辑运算符才能组成完整的查询条件。逻辑运算符有算符有ANDAND、OROR、NOTNOT。其中,。其中,ANDAND、OROR用于连接用于连接WHEREWHERE语句中的查询条件,语句中的查询条件,NOTNOT用于反转查询条件用于反转查询条件的结果。的结果。【例例8.68.6】在在“读者读者”表中检索专
9、业以表中检索专业以“计算机计算机”开头并且性别为男的读者姓名。开头并且性别为男的读者姓名。程序代码如下程序代码如下: :USE TSGLUSE TSGLSELECT SELECT 姓名姓名, ,专业专业FROM FROM 读者读者WHERE WHERE 专业专业 Like Like 计算机计算机% AND % AND 性别性别=男男 12 GROUP BY 子句的主要作用是子句的主要作用是可以将数据记录设置的条件分成多个可以将数据记录设置的条件分成多个组,而且只有使用了组,而且只有使用了GROUP BY 子子句,句,SELECT子句中所使用的聚合函子句中所使用的聚合函数才会起作用。数才会起作用
10、。GROUP BY 子句关子句关键字后面将跟着用于分组的字段名称键字后面将跟着用于分组的字段名称列表,这个列表将决定查询结果集分列表,这个列表将决定查询结果集分组的依据和顺序。在最终的结果集中,组的依据和顺序。在最终的结果集中,分组列表包含字段的每个非重复值只分组列表包含字段的每个非重复值只存在一条记录。存在一条记录。13【例例8.78.7】在在“读者读者”表中检索每个专业的表中检索每个专业的平均年龄。平均年龄。程序代码如下程序代码如下: :USE TSGLUSE TSGLSELECT SELECT 专业专业, AVG(, AVG(年龄年龄) AS ) AS 平均年龄平均年龄 FROM FRO
11、M 读者读者 GROUP BY GROUP BY 专业专业 在查询分析器的在查询分析器的“查询脚本编辑器查询脚本编辑器”中中输入并运行该程序,运行结果如图输入并运行该程序,运行结果如图8-28-2所示。所示。14图图8-2 例例8.7程序运行结果程序运行结果15 也可以在也可以在GROUP BYGROUP BY关键字后使用多个字段名称关键字后使用多个字段名称作为分组字段,这样系统将根据这些字段的先后顺作为分组字段,这样系统将根据这些字段的先后顺序,对结果集进行更加详细的分组。序,对结果集进行更加详细的分组。【例例8.88.8】在在“读者读者”表中检索每个专业的男生表中检索每个专业的男生和女生的
12、平均年龄。和女生的平均年龄。程序代码如下程序代码如下: :USE TSGLUSE TSGLSELECT SELECT 专业专业, ,性别性别,AVG(,AVG(年龄年龄)AS )AS 平均年龄平均年龄 FROM FROM 读者读者GROUP BY GROUP BY 专业专业, ,性别性别 在查询分析器的在查询分析器的“查询脚本编辑器查询脚本编辑器”中输入并中输入并运行该程序,运行结果如图运行该程序,运行结果如图8-38-3所示。所示。16图图8-3 例例8.8程序运行结果程序运行结果17聚合函数包括聚合函数包括SUM、AVG、COUNT、COUNT(*)、MAX、MIN。它们的作用是在查询结果
13、集中生成汇总值。它们的作用是在查询结果集中生成汇总值。除了除了COUNT(*)外,其他汇总函数都处理单个字段中全部外,其他汇总函数都处理单个字段中全部符合条件的值以生成一个结果集。这些汇总函数都可以应符合条件的值以生成一个结果集。这些汇总函数都可以应用于数据表中的所有记录,汇总函数的语法及其功能如表用于数据表中的所有记录,汇总函数的语法及其功能如表8-3所示。所示。函数语法说明功能SUM(表达式)返回数值表达式中所有值的和AVG(表达式)返回数值表达式中所有值的平均值COUNT(表达式)返回数值表达式中值的个数COUNT(*)返回选定的行数MAX(表达式)返回表达式中的最大值MIN(表达式)返
14、回表达式中的最小值表表8-318 8.3.1 SUM函数函数 聚合函数聚合函数SUM的功能是返回数值表达的功能是返回数值表达式中所有值的和。用来求和的表达式通常式中所有值的和。用来求和的表达式通常是字段名称或包含字段名称的表达式。是字段名称或包含字段名称的表达式。 使用使用SUM函数时,应注意以下几点:函数时,应注意以下几点: 运算时,运算时,SUM将忽略求和对象中的空值。将忽略求和对象中的空值。 可以同时使用可以同时使用DISTINCT关键字,以便在关键字,以便在求和之前去掉重复值。求和之前去掉重复值。 SUM函数只能对数值类型的字段使用。函数只能对数值类型的字段使用。19【例例8.98.9
15、】在在“图书图书”表中,以分类号检索表中,以分类号检索各类书籍的单价总和。各类书籍的单价总和。程序代码如下程序代码如下: :USE TSGLUSE TSGLSELECT SELECT 分类号分类号,SUM(,SUM(单价单价) AS ) AS 单价总和单价总和FROM FROM 图书图书 GROUP BY GROUP BY 分类号分类号 在查询分析器的在查询分析器的“查询脚本编辑器查询脚本编辑器”中中输入并运行该程序,运行结果如图输入并运行该程序,运行结果如图8-48-4所示。所示。20图图8-4 例例8.9程序运行结果程序运行结果21 8.3.2 AVG函数函数 聚合函数聚合函数AVGAVG
16、的功能是返回组中值的的功能是返回组中值的平均值。用来求平均值的表达式,通常是平均值。用来求平均值的表达式,通常是字段名称或包含字段名称的表达式。字段名称或包含字段名称的表达式。 使用使用AVGAVG函数时,应注意以下几点:函数时,应注意以下几点: 运算时,运算时,AVGAVG将忽略运算对象中的空值。将忽略运算对象中的空值。 可以同时使用可以同时使用DISTINCTDISTINCT关键字,以便在关键字,以便在运算之前去掉重复值。运算之前去掉重复值。 AVGAVG函数只能对数值类型的字段使用。函数只能对数值类型的字段使用。22【例例8.108.10】在在“图书图书”表中,按分类号检表中,按分类号检
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 高级 操作 教学 课件
限制150内