版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年mysql查询测试题及答案
一、单项选择题(总共10题,每题2分)1.以下哪个关键字用于在查询结果中去除重复行?A.DISTINCTB.UNIQUEC.GROUPBYD.ORDERBY2.若要查询表中前5条记录,MySQL中使用的关键字是?A.TOP5B.LIMIT5C.ROWNUM<=5D.FETCHFIRST5ROWSONLY3.以下哪种连接会返回两个表中所有匹配的行,以及左表中不匹配的行?A.INNERJOINB.LEFTJOINC.RIGHTJOIND.FULLJOIN4.聚合函数COUNT()统计的是?A.非空列的行数B.所有列的行数(包括NULL)C.特定列的非空值D.重复值的行数5.以下哪个子句用于过滤分组后的结果?A.WHEREB.HAVINGC.GROUPBYD.ORDERBY6.若要查询表中age列大于30且name不为空的记录,WHERE条件应写为?A.age>30ORnameISNOTNULLB.age>30ANDnameISNOTNULLC.age>30&&name!=NULLD.age>30ANDname!=NULL7.以下哪个函数用于获取当前日期?A.NOW()B.CURDATE()C.CURRENT_TIMESTAMP()D.DATE()8.相关子查询的特点是?A.子查询执行一次B.子查询依赖外层查询的列C.子查询可以返回多个值D.子查询必须用EXISTS9.视图查询与表查询的区别是?A.视图不存储数据B.视图查询速度更快C.视图不能更新D.视图只能基于单表10.若要按dept_id分组并统计每个部门的平均工资,且平均工资大于5000,SQL语句中正确的是?A.SELECTdept_id,AVG(salary)FROMempGROUPBYdept_idWHEREAVG(salary)>5000B.SELECTdept_id,AVG(salary)FROMempGROUPBYdept_idHAVINGAVG(salary)>5000C.SELECTdept_id,AVG(salary)FROMempWHEREAVG(salary)>5000GROUPBYdept_idD.SELECTdept_id,AVG(salary)FROMempGROUPBYdept_idORDERBYAVG(salary)>5000二、填空题(总共10题,每题2分)1.MySQL中,用于创建查询结果集的关键字是______。2.多表连接中,INNERJOIN的简写是______(两个表之间)。3.聚合函数SUM()用于计算______列的总和。4.子查询中,使用______关键字可以判断子查询是否返回任何记录。5.排序时,若要按降序排列,需在ORDERBY子句后添加______。6.日期函数DATE_ADD()用于______日期。7.字符串函数CONCAT()用于______多个字符串。8.视图创建后,若基表数据变化,视图查询结果______(会/不会)自动更新。9.分页查询中,LIMIT10OFFSET20表示从第______条记录开始,返回10条。10.条件函数IF()的语法格式是______。三、判断题(总共10题,每题2分)1.SELECT语句中,列名可以用代替所有列。()2.LEFTJOIN和RIGHTJOIN可以互换,只要调整表的顺序。()3.HAVING子句可以使用聚合函数,WHERE子句不能。()4.子查询必须放在括号中。()5.COUNT(col)统计的是col列的所有行数(包括NULL)。()6.ORDERBY子句必须放在WHERE子句之后,GROUPBY子句之前。()7.视图可以基于其他视图创建。()8.LIMIT关键字只能用于MySQL,其他数据库不支持。()9.EXIST子查询返回的是布尔值(TRUE/FALSE)。()10.聚合函数只能在SELECT子句或HAVING子句中使用。()四、简答题(总共4题,每题5分)1.简述WHERE子句与HAVING子句的区别。2.简述INNERJOIN、LEFTJOIN、RIGHTJOIN、FULLJOIN的区别。3.简述相关子查询与非相关子查询的区别。4.简述视图的作用及使用注意事项。五、讨论题(总共4题,每题5分)1.分析在MySQL中,使用COUNT()与COUNT(col)的性能差异及适用场景。2.讨论在多表查询中,使用连接(JOIN)与子查询的优缺点,以及如何选择。3.分析分页查询中LIMITOFFSET的性能问题,以及优化方法。4.讨论如何通过索引优化MySQL查询性能,举例说明。答案及解析一、单项选择题答案1.A2.B3.B4.B5.B6.B7.B8.B9.A10.B解析:1.DISTINCT用于去重,UNIQUE是约束关键字,GROUPBY分组,ORDERBY排序。2.MySQL用LIMIT,TOP是SQLServer,ROWNUM是Oracle,FETCH是PostgreSQL等。3.LEFTJOIN返回左表所有行+匹配右表行,NULL填充不匹配右表列。4.COUNT()统计所有行(含NULL),COUNT(col)统计col非空值。5.HAVING过滤分组结果,WHERE过滤原始行,HAVING可使用聚合函数。6.NULL不能用=或!=判断,需用ISNULL/ISNOTNULL,条件用AND。7.CURDATE()返回当前日期(YYYY-MM-DD),NOW()返回日期时间,DATE()提取日期。8.相关子查询依赖外层列,执行次数等于外层行数;非相关子查询独立,执行一次。9.视图是虚拟表,不存储数据,基于基表计算;可更新(部分情况),可基于多表。10.分组后过滤用HAVING,WHERE不能用聚合函数,ORDERBY是排序不是过滤。二、填空题答案1.SELECT2.JOIN(或INNERJOIN简写为JOIN)3.数值型(或指定列的数值)4.EXISTS5.DESC6.增加/修改(或计算指定时间间隔后的)7.拼接(或连接)8.会9.21(OFFSET从0开始)10.IF(条件表达式,条件为真时的值,条件为假时的值)解析:2.两个表INNERJOIN可简写为表AJOIN表BON...4.EXISTS判断子查询是否有结果,返回TRUE/FALSE。9.OFFSET20表示跳过前20条(第1-20条),从第21条开始。三、判断题答案1.√2.√3.√4.√5.×6.×7.√8.×9.√10.×解析:2.左表ALEFTJOIN右表B等价于右表BRIGHTJOIN左表A。3.WHERE过滤原始行(不能用聚合),HAVING过滤分组结果(可用聚合)。5.COUNT(col)统计col非空值,NULL不统计。6.子句顺序:WHERE→GROUPBY→HAVING→ORDERBY。8.部分数据库(如PostgreSQL)也支持LIMIT,只是语法略有差异。10.聚合函数还可在ORDERBY子句中使用(如ORDERBYAVG(salary)DESC)。四、简答题答案1.WHERE与HAVING的区别:WHERE过滤原始行数据,在分组(GROUPBY)前执行,不能使用聚合函数;HAVING过滤分组后的结果,在分组后执行,可使用聚合函数。例如,WHEREage>30筛选所有年龄>30的员工,HAVINGAVG(salary)>5000筛选平均工资>5000的部门。2.四种连接的区别:INNERJOIN:返回两表匹配行(ON条件满足);LEFTJOIN:返回左表所有行+右表匹配行,右表不匹配填NULL;RIGHTJOIN:返回右表所有行+左表匹配行,左表不匹配填NULL;FULLJOIN:返回两表所有行,不匹配填NULL(MySQL需用UNIONLEFT+RIGHT实现)。3.相关与非相关子查询区别:非相关子查询:独立于外层查询,仅执行一次,返回结果供外层使用;相关子查询:依赖外层查询的列,外层每执行一行,子查询执行一次,效率较低但可实现更复杂逻辑(如查询每个部门工资最高的员工)。4.视图的作用及注意事项:作用:简化复杂查询(如多表连接)、隐藏敏感列、实现数据隔离;注意事项:视图不存储数据(基表变化则视图结果更新)、部分视图不可更新(如含聚合、DISTINCT)、可基于其他视图创建但避免嵌套过深影响性能。五、讨论题答案1.COUNT()与COUNT(col)的差异及场景:性能:COUNT()在InnoDB中会优化为快速统计(如索引统计),COUNT(col)需遍历col列非空值,若col无索引则更慢;场景:COUNT()适用于统计总行数(含NULL),COUNT(col)适用于统计某列非空值行数(如统计有邮箱的员工数),若col是主键则两者性能相近。2.JOIN与子查询的优缺点及选择:JOIN优点:执行效率高(优化器可高效关联表)、逻辑清晰;缺点:多表关联时语句较长;子查询优点:语句简洁(尤其是单条件过滤);缺点:相关子查询效率低(外层每行执行一次)。选择:复杂多表关联用JOIN,简单单条件过滤用非相关子查询,避免使用相关子查询(可替换为JOIN)。3.LIMITOFFSET的性能问题及优化:问题:OFFSET过大时(如OFFSET10000),MySQL需遍历前10000条记录再返回结果,耗时久;优化:用主键(或有序索引列)替代OFFSET,如SELECTFROMempWHEREid>10000LIMIT10(假设id有序),或用覆盖索引减少回表,避免遍历无关数据。4.索引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖北省汉川市高二化学下册期末考试模拟测试卷含完整答案【易错题】
- 2026年广东省台山市高二化学下册期末考试模拟测试卷含答案【培优B卷】
- 2026年辽宁省凌源市高二化学下册期末考试模拟试卷带答案(培优B卷)
- 2026年青海省格尔木市高二化学下册期末考试模拟卷【夺分金卷】附答案
- 2026年河北省黄骅市高二化学下册期末考试模拟检测卷及答案(历年真题)
- 2026年湖南省临湘市高二化学下册期末考试模拟测试卷附答案【研优卷】
- 2026年海南省东方市高二化学下册期末考试模拟试卷附完整答案(考点梳理)
- 2026年黑龙江省抚远市高二化学下册期末考试模拟卷及答案【真题汇编】
- 2026年湖南省冷水江市高二化学下册期末考试模拟检测卷附参考答案【综合题】
- 2026年河南省林州市高二化学下册期末考试模拟卷附答案【满分必刷】
- 第六单元-奶牛常见病防治
- 腹腔镜手术麻醉处理指南
- 特战侦查课件
- 《特种行业许可证》旅馆业各项安全管理制度
- 灼烫事故专项应急预案演练方案
- 通信施工防汛安全培训课件
- CQI23模塑系统评估
- 医院检验科质量管理手册模板
- 2025新《职业教育法》知识竞赛题库(带答案)
- (高清版)DB11∕T 2106.3-2025 供热系统智能化改造技术规程 第3部分:验收与评估
- 广东省广州市荔湾区2024-2025学年五年级下语文期末试题(无答案)
评论
0/150
提交评论