ImageVerifierCode 换一换
格式:PPTX , 页数:186 ,大小:2.06MB ,
资源ID:9645095      下载积分:20 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9645095.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(项目4--在MySQL数据库中查询数据-.pptx)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

项目4--在MySQL数据库中查询数据-.pptx

1、单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,2020-3-31,添加页脚,#,任务,1,SELECT,语句基本使用,项目,4,在,MySQL,数据库中查询数据,任务,2,使用,WHERE,子句过滤结果集,任务,3,使用,ORDERBY,子句对结果集排序,任务,4,使用,聚合函数汇总结果集,任务,5,使用,GROUP BY,子句对记录分组统计,任务,6,使用,连接查询,任务,7,使用,子查询,1.,简单查询,简单查询是按照一定的条件在单个的数据表上进行数据查询。使用,SQL,语言中,的,SELECT,语句来实现对数据的查询。,SELECT,语句的作用是让服务器从数

2、据库中按用户,的要求,检索数据,并将结果以数据表的形式返回给用户。,任务,1,SELECT,语句基本,使用,预备,知识,数据查询,SELECT,语句的语法格式,如下,:,SELECT,FROM,WHERE,GROUPBY,HAVING,ORDER BY,LIMIT,UNION ;,任务,1,SELECT,语句基本,使用,预备,知识,说明,:,(,1)SELECT,子句用来指定查询结果中需要返回的值。,(,2)FROM,子句用来指定从中查询的数据表或视图。,(,3)WHERE,子句用来指定查询的条件。,(,4)GROUP BY,子句用来指定查询结果的分组条件。,(,5)HAVING,子句用来指定

3、分组或集合的查询条件。,(,6)ORDER BY,子句用来指定查询结果的排序方法。,(,7)LIMIT,子句用来指定限制查询结果返回的行。,(,8)UNION,子句用来将多个,SELECT,语句查询结果合并为一个结果集。,任务,1,SELECT,语句基本,使用,预备,知识,SELECT,子句的语法格式如下,:,SELECT,ALL|DISTINCT,FROM,LIMIT n1,n2,;,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,说明,:,(,1)ALL,指定表示结果集的所有行,包括重复行,ALL,是默认选项。,(,2)DISTINCT,指

4、定在结果集显示唯一行,用于消除重复行,空值被认为相等。,ALL,与,DISTINCT,不能同时使用。,(,3)LIMIT n1,表示返回最前面的,n1,行数据,n1,表示返回的行数,。,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,(4)LIMIT n1,n2,表示从,n1,行开始,返回,n2,行数据。初始行从,0,开始。,n1,、,n2,必须,是非负,的整型常量。,(5,),目标,表达式为结果集要查询的特定表中的列,它可以是星号,(*),、表达式、列表、变量等,。其中,星号,(*),用于,返回表或视图的所有列,列表用“表名,.,列名,”来,

5、表示,如,student.S_id,若只有一个表或多个表中没有相同的列时,表,名可以省略。,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,例,4-1】,查询,student,表中学生的学号,、姓名,和性别。,【,任务,实现,】,在命令窗口编写如下语句,:,select S_id,S_name,S_gender from student;,mysqlselect S_id,S_name,S_gender from student;,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,例,4-

6、2】,查询,student,表中学生的全部信息。,【,任务,实现,1】,在命令窗口编写如下语句,:,select S_id,S_name,Dept_id,S_age,S_gender,from student;,mysqlselect S_id,S_name,Dept_id,S_age,S_gender,from student;,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,任务实现,2】,在命令窗口编写如下语句,:,select*from student;,mysqlselect*from student;,任务,1,SELECT,语

7、句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,例,4-3】,查询,student,表中学生的系部信息,要求返回的信息不重复。,【,任务,实现,1】,在命令窗口编写如下语句,:,select Dept_id from student;,mysqlselect Dept_id from student;,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,或者,在命令窗口编写如下语句,:,select all Dept_id from student;,mysqlselect all Dept_id from studen

8、t;,从返回结果集来看,得到的系部信息,是重复的若干行“,0”“1”“2”,。,但是本任务要求返回的信息不重复,接下来用如下语句完成本任务。,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,任务实现,2】,在命令窗口编写如下语句,:,select distinct Dept_id from student;,mysqlselect distinct Dept_id from student;,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,例,4-4】,查询,student,表前,5,行

9、信息,。,【,任务,实现,】,在命令窗口编写如下语句,:,select*from student limit 5;,mysqlselect*from student limit 5;,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,例,4-5】,查询,student,表中从第,3,行开始的,5,行数据。,【,任务,实现,】,在命令窗口编写如下语句,:,select*from student limit 2,5;,mysqlselect*from student limit 2,5;,任务,1,SELECT,语句基本,使用,子任务,1.1,如

10、何使用,SELECT,子句指定字段列表,若希望查询结果中的列显示时使用自己选择的列标题,可以在列名之后使用,AS,子句,语法,格式如下,:,SELECT,列,名,AS,列,别名,说明,:,AS,关键字可省略。,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,例,4-6】,查询,courses,表中的课程名和课程号,结果中各列的标题分别指定为课程名,和课程,号,。,【,任务,实现,】,在命令窗口编写如下语句,:,select C_n ame as,课程,名,C_id as from courses;,mysqlselect C_name as

11、课程名,C_id as,课程号,from courses;,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,例,4-7】,按,满分,150,分重新计算成绩,显示,score,表中所有的成绩信息。,【,任务,实现,】,在命令窗口编写如下语句,:,select S_id,C_id,score,*1.,5 from score;,mysqlselect S_id,C_id,score*1.5 from score;,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,【,拓展,任务,】,(1),查询

12、courses,表中的课程名称,C_name,。,(2),查询,books,表中的出版社信息,press,要求返回的信息不重复。,(3),查询,department,表中的所有信息,。,(4),查询,teacher,表中的前,3,行信息。,(5),查询,teacher,表中从第,2,行开始的,4,行数据。,(6),查询,department,表中系部名和系部号,结果中列标题分别指定为系部名和系部号。,(7),按满分,120,分重新计算成绩,显示,score,表中所有成绩信息。,任务,1,SELECT,语句基本,使用,子任务,1.1,如何使用,SELECT,子句指定字段列表,使用,SELECT

13、语句进行查询时,如果用户希望设置查询条件来限制返回的数据,可以,在,SELECT,语句后面使用,WHERE,子句来实现,(,将在任务,2,详细介绍,),。,WHERE,子句的语法格式如下,:,WHERE;,任务,1,SELECT,语句基本,使用,子任务,1.2,使用谓词过滤记录,使用,WHERE,子句可以给出查询的条件,提高查询的效率。,WHERE,子句必须紧跟,在,FROM,子句后面。,WHERE,子句中的表达式可以是比较运算符,、模式匹配,运算符,、范围运算符、是否,为空值,、逻辑运算,符等谓词构成的式子。谓词的作用就是判断是否存在满足某种,条件的,记录,如果存在这样的记录就返回真,(,

14、TRUE,),如果不存在就返回假,(,FALSE,),。系统,根据真假,来决定数据是否满足该查询条件,只有满足查询条件的数据才会出现在结果集中。,在,SQL,中,返回逻辑值,(,TRUE,或,FALSE,),的运算符或关键字都可称为谓词。,任务,1,SELECT,语句基本,使用,子任务,1.2,使用谓词过滤记录,【,例,4-8】,查询,student,表中所有男同学的信息。,【,任务,实现,】,在命令窗口编写如下语句,:,select*from student where S_gender=,男,;,mysql,select*from student where S_gender=,男,;,任

15、务,1,SELECT,语句基本,使用,子任务,1.2,使用谓词过滤记录,【,拓展任务,】,查询,books,表中科学出版社的所有教材信息。,任务,1,SELECT,语句基本,使用,子任务,1.2,使用谓词过滤记录,使用,SELECT,语句进行查询时,FROM,子句用来指定从中查询的数据表或视图。,FROM,子句的语法格式如下,:,FROM,;,使用,FROM,子句可以给出查询的数据源,可以是一个表或视图,也可以是多个表或视图,。,FROM,子句必须紧跟在,WHERE,子句后面。,任务,1,SELECT,语句基本,使用,子任务,1.3,使用,FROM,子句进行查询,【,例,4-9】,查询,tea

16、cher,表中的教师姓名和教师号。,【,任务,实现,】,在命令窗口编写如下语句,:,select T_name,T_id from teacher;,mysqlselect T_name,T_id from teacher;,任务,1,SELECT,语句基本,使用,子任务,1.3,使用,FROM,子句进行查询,【,拓展任务,】,查询,teacher,表中的所有信息。,任务,1,SELECT,语句基本,使用,子任务,1.3,使用,FROM,子句进行查询,使用,SELECT,语句进行查询时,有时数据不仅仅来源于一个表或视图,此时就要用多表连接来实现。可用,FROM,子句来指定从中查询的数据表或视图

17、WHERE,子句来指定,连接条件,(,将在任务,6,详细介绍,),。,连接命令的语法格式如下,:,FROM ,别名,1,别名,2,WHERE,AND ;,或者,FROM,别名,1,INNER JOIN,别名,2,ON WHERE ;,任务,1,SELECT,语句基本,使用,子任务,1.4,使用多表连接进行查询,【,例,4-1 0】,查询,教师的姓名,、教师,号及所在系部名称。,【,任务,实现,】,在命令窗口编写如下语句,:,select T_name,T_id,Dept_name,from teacher,department,where teacher.Dept_id=department

18、Dept_id;,任务,1,SELECT,语句基本,使用,子任务,1.4,使用多表连接进行查询,mysqlselect T_name,T_id,Dept_name,from teacher,department,where teacher.Dept_id=department.Dept_id,;,任务,1,SELECT,语句基本,使用,子任务,1.4,使用多表连接进行查询,【,拓展任务,】,查询学生的姓名,、学,号及所在系部名称。,任务,1,SELECT,语句基本,使用,子任务,1.4,使用多表连接进行查询,使用,SELECT,语句进行查询时,如果用户希望设置查询条件来限制返回的数据,可以通

19、过,SELECT,语句后面使用,WHERE,子句来实现。,WHERE,子句的语法格式如下,:,WHERE,;,任务,2,使用,WHERE,子句过滤结果,集,预备,知识,格式如下,:,表达式,表达式,|,表达式,NOT LIKE,表达式,ESCAPE esc,|,表达式,NO,REGEXP|RLIKE,表达式,|,表达式,NOT BETWEEN,表达式,AND,表达式,|,表达式,IS,NOT NULL,|,表达式,NOT IN(,子,查询,|,表达式,n,),|,表达式,ALL,|,SOME,|ANY,(,子,查询,),|EXIST(,子,查询,),任务,2,使用,WHERE,子句过滤结果,集

20、使用单一的条件过滤结果集,主要指使用比较查询条件来实现查询。比较查询条件由,两个,表达式和比较运算符,(,见,表,4-1),组成,系统将根据该比较查询条件的真假来决定数据,是否满足,该查询条件,只有满足该查询条件的数据才会出现在结果集中。表,4-1,给出了常用的,比较,运算符及其说明。,比较查询条件的格式如下,:,表达式,1,比较运算符 表达式,2,任务,2,使用,WHERE,子句过滤结果,集,子任务,2.1,使用单一的条件过滤结果集,表,4,1,比较,运算符,任务,2,使用,WHERE,子句过滤结果,集,子任务,2.1,使用单一的条件过滤结果集,运算符,说明,表达式,=,相等,x=y,不相

21、等,xy,大于,xy,小于,xy,=,小于等于,x=,大于等于,x=y,!=,不等于,x!=y,相等或都等于空,xy,比较运算符用于比较两个表达式的值,当两个表达式的值均不为空值,(,NULL,),时,比较,运算,返回逻辑值,TRUE(,真,),或,FALSE(,假,);,当两个表达式的值有一个为空值或都为空值时,将返回,UNKNOWN,。,任务,2,使用,WHERE,子句过滤结果,集,子任务,2.1,使用单一的条件过滤结果集,【,例,4-1 1】,查询,student,表中姓名为郑玲的学号,、姓名,和性别的列信息。,【,任务,实现,】,在命令窗口编写如下语句,:,select S_id,S_

22、name,S_gender,from student,where S_name,=,郑玲,;,mysqlselect S_id,S_name,S_gender,From student where S_name=,郑玲,;,任务,2,使用,WHERE,子句过滤结果,集,子任务,2.1,使用单一的条件过滤结果集,【,例,4-1 2】,查询,books,表中价格小于,30,元的教材书号,、教材,名称和教材价格的信息。,【,任务,实现,】,在命令窗口编写如下语句,:,select isbn,book name,price,from books where priceselect isbn,bookn

23、ame,price,from books where price select*from score where score is null;,任务,2,使用,WHERE,子句过滤结果,集,子任务,2.2,使用,IS NULL,运算符进行查询,【,例,4-14】,查询,score,表中已有成绩的信息。,【,任务实现,】,在,命令窗口编写如下语句,:,select*from score where score is not null;,mysqlselect*from score where score is not null,;,任务,2,使用,WHERE,子句过滤结果,集,子任务,2.2,使

24、用,IS NULL,运算符进行查询,【,拓展任务,】,(,1),查询,books,表中价格尚不定的教材信息。,(,2),查询,books,表中价格已定的教材信息。,任务,2,使用,WHERE,子句过滤结果,集,子任务,2.2,使用,IS NULL,运算符进行查询,在,MySQL,数据库中,字符集的概念和编码方案被看作是同义词,一个字符集是一个转换 表和一个编码方案的组合。,查看,当前数据库的字符集的语句如下,:,show variables like character%;,执行,结果如下,:,mysqlshow,variables like character%;,任务,2,使用,WHERE

25、子句过滤结果,集,子,任务,2.3 SELECT,语句与字符集,说明,:,character_set_client,:,客户端请求数据的字符集。,character_set_connection:,客户机,/,服务器连接的字符集。,character_set_database:,默认数据库的字符集。,character_set_filesystem:,把操作系统上文件名转化成此字符集。,character_set_results:,结果集,返回给客户端的字符集。,character_set_server:,数据库服务器的默认字符集,character_set_system:,系统字符集。,执

26、行,SELECT,语句,时,如果字符集设置错误,可能发生乱码等问题。,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.3 SELECT,语句与字符集,【,例,4-15】,查询,courses,表中信息。,【,任务实现,】,在,命令窗口编写如下语句,:,select*from courses;,mysqlselect*from courses,;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.3 SELECT,语句与字符集,问题,1:,显示结果集时出现乱码问题。,由于,查询结果集中包含中文简体字符,如果使用下面的语句先将,character_set_results,的

27、字符集设置为,latin1,然后再执行本任务查询语句,则查询结果集将出现中文乱码问题。,执行结果,如下,:,set character_set_results=latin1,;,Select*from courses,;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.3 SELECT,语句与字符集,mysqlset character_set_results=latin1;,Query OK,0 rows affected(0.03sec,),mysqlselect*from courses,;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.3 SELECT,语句与

28、字符集,【,例,4-16】,查询,courses,表中“,C,语言程序设计”课程的信息。,【,任务实现,】,在,命令窗口编写如下语句,:,set character_set_results=gbk,;,select*from courses where C_name,=c,语言程序设计,;,mysqlset character_set_results=gbk;,Query OK,0 rows affected(0.03sec),mysqlselect*from courses where C_name=c,语言程序设计,;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.3 SEL

29、ECT,语句与字符集,问题,2:,显示结果失败问题。,由于在,WHERE,子句中包含中文简体字符,如果使用语句先将,character_set_connection,的,字符集设置为,latin1,然后再执行本任务查询语句,则导致查询结果失败。执行结果如下,:,mysqlset character_set_connection=latin1,;,Query OK,0 rows affected(0.03sec,),mysqlselect*from courses where C_name,=c,语言程序设计,;,Empty set,1 warning(0.03sec,),可以,看到结果中出现了

30、Empty set,1 warning,”,的提示,说明此次查询没有取得任何,结果,而且在此查询过程中产生了一个警告信息,。,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.3 SELECT,语句与字符集,说明,:,(,1),产生乱码的根本原因,:,客户端程序没有正确地设置客户端,(client),字符集,导致原先,的,SQL,语句被转换成当前连接,(connection),所指定的字符集,而这种转换是会丢失信息的。,另外,如果数据库字符集设置不正确,那么当前连接,connection,字符集转换成数据库,(database),字符集同样会导致丢失编码。,(,2)charact

31、er_set_client:,要告诉服务器,发送的数据是何种编码,;,character_set_connection,:,告诉字符集转换器,转换成何种编码。,character_set_results,:,查询的结果用何种编码。,如果,以上三者都为,字符集,N,可简写为,set names N,;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.3 SELECT,语句与字符集,【,小技巧,】,乱,码解决方法,:,首先明确客户端使用何种编码格式,;,确保数据库使用,utf8,格式,;,一定要,保证,当前,连接,(connection),字符集大于等于客户 端,(client,),所

32、使用的字符集,即满足条件,:(latin1gb2312gbk=,70 and score,select S_id,score from score where score=70 and scoreselect S_id,S_name,S_gender from student where S_name like,王,%;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,【,例,4-19】,查询,student,表中学号的第,5,个数字为“,3”,的学生学号、姓名和系别信息。,【,任务实现,】,在,命令窗口编写如下语句,:,Select S_id,S

33、name,Dept_id from student,where S_id like _,3,%;,mysqlselect S_id,S_name,Dept_id from student,where,S_id like _3%;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,【,例,4-20】,查询,student,表中的男学生的学号、姓名和性别信息。,【,任务实现,】,在,命令窗口编写如下语句,:,select S_id,S_name,S_gender from student,where S_gender not like,女,;,mysq

34、lselect S_id,S_name,S_gender from student,where,S_gender not like,女,;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,【,例,4-21】,查询,student,表中姓名包含下划线的学号和姓名信息。,【,任务实现,】,在,命令窗口编写如下语句,:,Select S_id,S_name from student where S_name like,%#_%,escape#;,mysqlselect S_id,S_name from student where S_name like%

35、escape,#;,注意,:,定义了“,#”,为转义字符后,语句中在“,#”,后,的,“,_”,就失去了它本来通配符的含义。,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,【,拓展任务,】,(,1),查询,student,表中姓“张”的学生学号、姓名和性别信息,。,(,2),查询,student,表中学号的第,5,个数字为“,2”,的学生学号、姓名和系别信息。,(,3),查询,student,表中的女学生的学号、姓名和性别信息,。,(,4),查询,student,表中姓名包含百分号的学号和姓名信息。,注意,:,在,MySQL,中还可以,使用

36、REGEXP,运算符来执行更复杂的字符串比较,运算。,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,用于范围比较的关键字有两个,:,BETWEEN,和,IN,。,(,1),当要查询的条件是某个值的范围时,可以使用,BETWEEN,关键字,指定查询范围,语法格式,如下,:,表达式,NOT,BETWEEN,表达式,1 AND,表达式,2,当,不,使用,NOT,时,若表达式的值在表达式,1,与表达式,2,之间,(,包括这两个值,),则,返回,TRUE,否则,返回,FALSE,;,使用,NOT,时,返回值刚好相反。,(,2),使用,IN,关键字,可以指

37、定一个值列表,值列表中列出所有可能的值,当与值列表中,的任何,一个匹配时,则,返回,TRUE,否则,返回,FALSE,。使用,IN,关键字,的语法格式如下,:,表达式,IN,(,表达式,n),任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,【,例,4-22】,查询,score,表中成绩在,70,分到,80,分之间的学号和成绩信息。,【,任务实现,】,在,命令窗口编写如下语句,:,Select S_id,score from score where score between 70 and 80;,mysqlselect S_id,score fro

38、m score where score between 70 and 80,;,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,【,例,4-23】,查询,score,表中成绩在,70,分以下,80,分以上的学号和成绩信息。,【,任务实现,】,在,命令窗口编写如下语句,:,select S_id,score from score where score not between 70 and 80;,mysqlselect S_id,score from score where score not between 70 and 80,;,任务,2,使用

39、WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,【,例,4-24】,查询,books,表中出版社为“科学出版社”或“时代出版社”的教材名、出版社和作者信息。,【,任务实现,】,在,命令窗口编写如下语句,:,Select book name,press,author from books,where press in,(,科学出版社,时代出版社,);,mysqlselect book name,press,author,from,books,where,press in(,科学出版社,时代出版社,),任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,

40、使用,LIKE,进行模糊查询,【,例,4-25】,查询,books,表中出版社不是“科学出版社”或“时代出版社”的教材名、出版社和作者信息。,【,任务实现,】,在,命令窗口编写如下语句,:,Select bookname,press,author from books,where press not in,(,科学出版社,时代出版社,);,mysqlselect bookname,press,author from books,where,press not in(,科学出版社,时代出版社,);,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,【,

41、拓展任务,】,(1),查询,books,表中价格在,20,元到,30,元之间的教材信息,。,(2),查询,books,表中价格在,20,元以下,30,元以上的教材信息,。,(3),查询,teacher,表中系部号为“,2”,或“,4”,的教师名和系部号信息,。,(,4),查询,teacher,表中系部号不是“,2”,或“,4”,的教师名和系部号信息。,任务,2,使用,WHERE,子句过滤结果,集,子,任务,2.5,使用,LIKE,进行模糊查询,使用,SELECT,语句,进行查询时,如果用户希望查询结果能够按照其中的一个或多个列,进行,排序,可以通过,SELECT,语句,后面,使用,ORDER

42、BY,子句,来实现。,ORDER BY,子句,的语法格式如下,:,ORDER BY,列名,|,表达式,|,顺序号,ASC|DESC,;,说明,:,(,1),该子句可以根据一个或多个列进行排序,也可以根据表达式进行排序,。,(,2),可以在列的后面,指定,ASC,(,升序,),或,DESC,(,降序,),。如果没有指定顺序,系统默认,使用升序。,(,3),如果选择“顺序号”,则排序的列是,SELECT,顺序,号对应输出的相同列。,任务,3,使用,order by,子句对结果集,排序,预备知识,【,例,4-26】,在,books,表中按价格升序排列。,【,任务实现,】,在,命令窗口编写如下语句,:

43、select*from books order by price asc,;,mysqlselect*from books order by price asc;,任务,3,使用,order by,子句对结果集,排序,注意,:,(,1),如果写成,order by 4,结果相同,因为,select,后的第,4,列是,price,。,(,2),当对空值,(NULL),排序时,ORDER BY,子句,将空值作为最小值对待,因此升序排列,时将,空值放在最上面,降序时放在最下面。,任务,3,使用,order by,子句对结果集,排序,【,例,4-27】,在,score,表中按成绩降序排列。,【,任务

44、实现,】,在,命令窗口编写如下语句,:,select*from score order by score desc,;,mysqlselect*from score order by score desc;,任务,3,使用,order by,子句对结果集,排序,【,例,4-28】,在,student,表中先按系别升序,再按年龄降序排列。,【,任务实现,】,在,命令窗口编写如下语句,:,select*from student order by Dept_id,S_age desc,;,mysqlselect*from student order by Dept_id,S_age desc,;,任

45、务,3,使用,order by,子句对结果集,排序,【,拓展任务,】,(1),在,student,表中按年龄降序排列。,(,2),在,books,表中按出版时间升序排列,。,(3),在,books,表中先按出版社升序,再按价格降序排列。,任务,3,使用,order by,子句对结果集,排序,聚合函数用于对一组值进行计算,结果返回单个值,表,4-4,给出了常用聚合函数,。,注意,:,除,COUNT,函数,外,聚合函数都会忽略空值,(NULL),。,表,4-4,常用聚合函数,任务,4,使用,聚合函数汇总结果,集,预备,知识,函数名,说明,COUNT,返回满足,SELECT,语句中指定条件的行数,S

46、UM,返回一个数值列或计算列的和,AVG,返回一个数值列或计算列的平均值,MAX,返回一个数值列或计算列的最大值,MIN,返回一个数值列或计算列的最小值,(,1)COUNT(),函数,COUNT,(),函数用于统计组中满足条件的行数或总行数,返回,SELECT,语句查询到的,行中非,NULL,值的数目,若找不到匹配的行,则返回,0,。,COUNT,(),函数的语法格式如下,:,COUNT,(ALL|DISTINCT,表达式,|*),说明,:,(,1),表达式的数据类型可以是除,blob,或,text,之外的任何类型。,(,2)ALL,表示对所有值进行运算,DISTINCT,表示,去除重复值,默

47、认为,ALL,。,(,3),使用,COUNT,(*),时将返回查询行的总数目,不论其是否,包含,NULL,值。,任务,4,使用,聚合函数汇总结果,集,【,例,4-29】,查询,价格不为空的教材数目。,【,任务实现,】,在,命令窗口编写如下语句,:,select count(price)as,价格不为空的教材,数目,from books,;,mysqlselect count(price)as,价格不为空的教材数目,from books;,任务,4,使用,聚合函数汇总结果,集,【,例,4-30】,查询,教材的总数目。,【,任务实现,】,在,命令窗口编写如下语句,:,Select count(*)

48、as,教材,总数,from books;,mysqlselect count(*)as,教材总数,from books,;,任务,4,使用,聚合函数汇总结果,集,【,例,4-31】,查询,成绩在,75,分以上的人数。,【,任务实现,】,在,命令窗口编写如下语句,:,select count(score)as,成绩在,75,分以上的,人数,from score where score75,;,mysqlselect count(score)as,成绩在,75,分以上的人数,from score where score75;,任务,4,使用,聚合函数汇总结果,集,(2)SUM(),函数,SUM,(

49、),函数用于求表达式中所有值项的总和。,SUM,(),函数的语法格式如下,:,SUM,(ALL|DISTINCT,表达式,),任务,4,使用,聚合函数汇总结果,集,【,例,4-32】,查询,学号为,1115101,的学生所学课程的总成绩。,【,任务实现,】,在,命令窗口编写如下语句,:,select sum(score)as,课程,总成绩,from score where S_id,=1115101;,mysqlselect sum(score)as,课程总成绩,from score where S_id=1115101,;,任务,4,使用,聚合函数汇总结果,集,(3)AVG(),函数,AVG

50、),函数用于求表达式中所有值项的平均值。,AVG,(),函数的语法格式如下,:,AVG,(ALL|DISTINCT,表达式,),任务,4,使用,聚合函数汇总结果,集,【,例,4-33】,查询,学号为,1115101,的学生所学课程的平均成绩。,【,任务实现,】,在,命令窗口编写如下语句,:,select avg(score)as,课程平均,成绩,from score where S_id,=1115101;,mysqlselect avg(score)as,课程平均成绩,from score where S_id=1115101,;,任务,4,使用,聚合函数汇总结果,集,【,例,4-34】

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服