版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目四数据表记录检索138139任务1使用关键字进行单表查询任务2使用聚合函数进行函数查询任务3多表间进行连接查询任务4使用关键字进行子查询任务5使用正则表达式进行查询使用关键字进行单表查询任务11401. 了解查询的SQL语法格式。2. 掌握基本查询操作。3. 能使用各种关键字进行查询。141142基本查询是使用数据库的基本操作,除了查询所有信息外,更多的时候是指定条件进行查询的,这样才能实现高效快捷地找到所需要的信息。本任务要求使用Navicat查询课程表中“课程学分”(cou_credit)为3且“课程类型”(cou_type)为选修的课程信息,查询结果如图所示。143
查询结果144一、基本查询查询语句是SQL语言以及MySQL中极为重要的语句。数据库最常使用的四大功能是查询、增加、更新、删除,其中查询功能是展示数据库中存放数据的最基本的方式。查询使用的是SELECT语句,它的使用方式既可以简单化也可以复杂化,其功能十分强大。基本查询语句SELECT的基本语法格式如下(其中{}表示必选其一或多选,[]表示可选)。145二、指定查询字段按字段查询是指查询数据表中指定字段的数据。在MySQL中,可以使用通配符“*”指定查询所有列,也可以使用“<字段名>”直接指定字段名称进行查询。查询字段的语法格式如下。146三、用关键字WHERE进行条件查询1. 用比较运算符实现简单条件除了字段查询外,为了满足用户更多的查询需求,提高查询效率,可指定条件查询相关数据。指定条件查询需要使用WHERE子句来指定条件,指定条件查询的SQL语法格式如下。147如果要从众多记录中查询出指定的记录,需要设定查询的条件。在使用WHERE子句时,需要使用比较运算符来表示查询条件。常用的比较运算符见下表。148
常用的比较运算符149
常用的比较运算符2. 用关键字IN实现集合条件使用关键字IN可以判断某个字段的值是否在指定的集合中。如果字段的值在集合中,则满足查询条件能进行查询;如果不在集合中,则不满足查询条件。其语法格式如下。1503. 用关键字BETWEEN AND实现范围条件关键字BETWEENAND的范围查询与关键字IN的查询有所区别。IN子句用于查询字段值在指定集合内的数据,而BETWEENAND子句用于查询字段值在指定区间内的数据,不在该区间内的数据将不会出现在查询结果中。关键字BETWEENAND范围查询的SQL语法格式如下。1514. 用关键字 LIKE实现模糊条件关键字LIKE是SQL中常用的比较运算符,用于实现模糊查询。LIKE在使用时会搭配两种通配符——百分号“%”和下画线“_”。其中,通配符“%”可以匹配任何数量的字符包括零个字符;通配符“_”只能匹配一个字符。1525. 用关键字IS NULL实现空值条件关键字ISNULL用来判断数据表中某字段的值是否为空(NULL)。当某条记录中指定字段的值为空(NULL)时,则该记录满足查询条件,可被查询输出;如果该字段的值不为空,则不满足查询条件,不会被输出。其SQL语法格式如下。1536. 用关键字 AND、OR 实现复合条件相对于基本查询,单一条件可能无法满足更多的需求,SQL中提供了关键字AND,可以为查询语句指定多个条件。使用关键字AND进行条件查询时,只有当记录中的字段值满足了全部条件时,才能成功地完成查询;反之,则不满足查询条件,无法被查询输出。可以同时使用多个
关键字AND来连接多个表达式。AND子句的SQL语法格式如下。154关键字OR与
关键字AND都可以用于指定多个条件,但是与
关键字AND不同的是,当记录中的字段值能满足OR子句众多条件中的一个时就能实现查询;反之,则不符合查询条件,无法被查询输出。OR子句的SQL语法格式如下。155四、用关键字DISTINCT去除结果中的重复行数据表存储的数据在某些情况下会出现大量重复的情况,例如分类、统计等情况就需要使用关键字DISTINCT,它能去除查询结果中的重复记录,让数据能更加直观地展示,DISTINCT子句的SQL语法格式如下。156五、用关键字ORDERBY对查询结果进行排序对于数字、字母等有顺序的数据,可以使用关键字ORDERBY对查询的结果进行升序或降序排列。ORDERBY子句的SQL语法格式如下。157六、用关键字LIMIT限制查询结果的数量有时查询结果中记录较多,不方便查看,可使用MySQL提供的关键字LIMIT来限制查询结果的数量,分页显示查询结果。其语法格式如下。158使用聚合函数进行函数查询任务21591.了解函数的作用。2.了解常用的单行函数。3.能使用聚合函数进行函数查询。4.能使用关键字GROUP BY和HAVING进行查询。5.了解SELECT 语句的执行过程。160161MySQL内置函数可直接通过函数名调用,帮助用户简化复杂的数据处理,降低数据维护与管理难度。本任务要求通过Navicat查询成绩表中每门课程的平均成绩,结果保留为整数,得到查询效果如图所示。
每门课程的平均成绩162一、函数概述1. 函数的作用函数在计算机语言的使用中贯穿始终,函数可以把经常使用的代码封装起来,需要的时候直接调用即可,这样既提高了代码的开发效率,又提高了代码的可维护性。通过使用函数,可以极大地提高用户对数据库的管理效率。2. 不同DBMS函数的差异不同DBMS的函数实现差异性很大,远超过SQL语言版本间的差异。实际上,只有很少的SQL函数是被DBMS同时支持的。大部分DBMS会有特定的函数,这就意味着采用SQL函数的代码可移植性是很差的,因此,在使用函数的时候要特别注意。MySQL提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便。根据实现的功能不同,函数可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL信息函数、聚合函数等。按照操作记录的行数和结果返回数不同,可将这些丰富的内置函数分为单行函数和聚合函数(或分组函数)。1633. 常用的单行函数单行函数对每条记录单独计算并返回结果,常用的有数值函数、字符串函数、日期和时间函数等。(1)常用的数值函数见下表。164常用的数值函数165常用的数值函数166常用的数值函数(2)常用的字符串函数见下表。167
常用的字符串函数168
常用的字符串函数(3)常用的日期和时间函数见下表。169常用的日期和时间函数170常用的日期和时间函数4. 常用的聚合函数聚合函数对一组数据返回单个统计值,通常与GROUPBY配合使用。SUM()函数用于计算表中某个数值类型字段取值的总和。AVG()函数用于计算表中某个数值类型字段取值的平均值。MAX()、MIN()函数用于计算表中某个数值类型字段取值的最大值和最小值。COUNT()函数用于统计表中的记录数,如果参数不为“*”,返回所选择集合中非NULL值的行的数目;如果参数为“*”,返回所选择集合中所有行的数目,包含NULL值所在的行。没有WHERE子句的COUNT(*)是经过内部优化的,能快速地返回表中所有记录的总数。171上述函数的SQL语法格式一致,其语法格式如下。172二、用关键字GROUPBY分组查询通过GROUPBY子句可以将数据划分到不同的组中,实现对记录进行分组查询。GROUPBY子句常常与聚合函数配合使用,SELECT语句中未使用聚合函数的字段应包含在GROUPBY子句中。1. 使用关键字GROUP BY进行分组查询使用GROUPBY关键字的SQL语法格式如下。1732. 按多个字段分组使用关键字GROUPBY时还可按多个字段分组。分组过程中,先按照第一个字段分组,当第一个字段有相同值时,再按第二个字段分组,其余以此类推。174三、用关键字HAVING分组过滤条件进行查询HAVING语句通常与GROUPBY语句联合使用,用来过滤由GROUPBY语句返回的记录集。其SQL语法格式如下。175多表间进行连接查询任务31761.了解连接查询的作用。2.掌握内连接查询操作。3.掌握外连接查询操作。4.能合并查询结果。177连接查询(JOIN操作)是SQL中用于整合多个相关数据表数据的核心机制。不同的数据表之间存在一定的联系,单表查询无法实现复杂数据表之间的连接,因此,使用连接查询,可利用数据表之间存在关联的特点进行多表间的查询。178本任务要求使用Navicat查询计算机系学生的平均分数,要求该平均分数取整数,得到的查询结果如图所示。179
计算机系学生的平均分数一、连接查询连接是关系数据库的核心机制,用于通过共有字段(如外键)关联多表数据。连接主要分为两类:内连接(INNERJOIN)和外连接(OUTERJOIN)。其中,内连接仅返回两表匹配的行(交集)。外连接包括左连接(LEFTJOIN)、右连接(RIGHTJOIN)和全连接(FULLJOIN)。其中,左连接保留左表全部行,右表无匹配时填充NULL。右连接保留右表全部行,左表无匹配时填充NULL。全连接(FULLJOIN)返回所有匹配与不匹配行。1801. 内连接查询内连接查询使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行,组合成新的记录。也就是说,在内连接查询中,只有满足条件的记录才能出现在结果中。内连接查询的SQL语法格式如下。1812. 外连接查询内连接查询仅返回查询结果集合中符合连接条件的行;而外连接查询既返回查询结果集合中符合连接条件的行,还包括左表(左外连接或左连接)、右表(右外连接或右连接)或两个连接表(全外连接)中的所有数据行。外连接查询分为左外连接查询(左连接查询)、右外连接查询(右连接查询)和全外连接查询。182LEFTJOIN(左连接查询)子句可以返回包括左表中的所有记录和右表中连接字段值相等的记录。左连接查询的结果包括LEFT[OUTER]JOIN子句中指定的左表的所有行,而不仅仅是连接字段所匹配的行。全外连接查询返回的结果集合中包含了左表中的所有记录和右表中的所有记录,不论是否存在匹配记录。外连接字段的SQL语法格式如下。183二、定义别名在MySQL中,输出查询字段默认使用其列名,由于语句可能较为烦琐或者字段、表名称较为复杂,容易出现错误拼写等情况。MySQL支持为表和字段取别名,使用别名能提高语句的可读性,同时也能为输出结果提供更清晰、精确的命名。为字段定义别名时,使用关键字AS,其SQL语法格式如下。为数据表定义别名时,同样使用关键AS,其SQL语法格式如下。184使用关键字进行子查询任务41851. 了解子查询的概念。2. 掌握子查询的嵌套方式。3. 能使用关键字进行子查询操作。186如果说连接查询是通过连接不同的数据表形成一个数据源进行查询,子查询则是通过在查询中嵌套其他查询来获取结果。嵌套查询的语句可能不够简洁,但执行效率要比多次查询高,且对于较为复杂的查询要求来说,子查询提供了更强的功能和灵活性。本任务要求使用Navicat查询选修了“数据库原理及应用”课程的学生姓名,执行效果如图所示。187188
选修“数据库原理及应用”课程的学生姓名(部分)子查询是指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL4.1开始引入。在SELECT语句中先计算子查询,其结果作为外层查询的过滤条件,查询可以基于一张表或者多张表。子查询中常用的关键字有IN、EXISTS等。子查询中也可以使用比较运算符。子查询可以添加到SELECT、UPDATE和DELETE语句中,而且可以进行多层嵌套。本项目中所使用的相关关键字的SQL语法格式如下。189一、带比较运算符的子查询比较运算符广泛地运用在查询中,子查询也可以使用比较运算符,包括“=”“!=”“>”“>=”“<”“<=”等。比较运算符在子查询中的用法与基本查询一致,子查询也是通过查询嵌套形成的。用户可以通过一定程度的查询嵌套,实现连接查询。190二、带关键字IN的子查询使用关键字IN进行子查询时,内层查询语句仅仅返回一个数据列,这个数据列里的值将提供给外层查询的语句进行比较操作。三、带关键字EXISTS的子查询关键字EXISTS后面的参数是一个任意的子查询,系统对子查询进行运算以判断其是否返回行,如果至少返回一行,那么EXISTS子句的结果为TRUE,此时外层查询语句将进行查询;如果子查询没有返回任何行,那么EXISTS子句返回的结果为FALSE,此时外层语句将不进行查询。191四、带关键字ANY的子查询关键字ANY表示数据满足其中任意一个条件即可返回查询结果,该关键字通常与比较运算符一起使用。使用关键字ANY时,只要满足子查询语句返回的结果中的任意一个,就可以通过该条件来执行外层查询语句。其SQL语法格式如下。如果比较运算符为“<”,则表示小于子查询结果集中的任意一个值,即小于结果集中的最大值;如果比较运算符为“>”,则表示大于子查询结果集中的任意一个值,即大于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市心理教师专业能力测评试题
- 2026年煤矿监测监控试题及答案解析
- 神经外科患者日常护理要点
- 羽绒羽毛加工处理工班组建设考核试卷含答案
- 重冶备料工创新方法强化考核试卷含答案
- 桩工机械装配调试工安全宣贯强化考核试卷含答案
- 采气测试工9S考核试卷含答案
- 建筑幕墙设计师操作管理评优考核试卷含答案
- 铁合金火法冶炼工操作安全强化考核试卷含答案
- 2026年航天集成新能源建设合同
- 2025年10月自考15041毛中特试题及答案
- 临床护理带教风险防范
- 静脉输液治疗规范与并发症预防
- 皖北卫生职业学院单招职业适应性测试题库及答案解析
- 2025年智能穿戴设备数据采集合同
- 2025至2030中国牛肉行业运营态势与投资前景调查研究报告
- 2026年合肥信息技术职业学院单招职业技能测试题库及答案1套
- 消防维保应急预案
- 项目部全员安全生产责任制
- 医院进修费用报告
- 《数字图像与视频处理》课件-第8章 数字水印技术
评论
0/150
提交评论