SQL笔试题目及详细答案(完整版)_第1页
SQL笔试题目及详细答案(完整版)_第2页
SQL笔试题目及详细答案(完整版)_第3页
SQL笔试题目及详细答案(完整版)_第4页
SQL笔试题目及详细答案(完整版)_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL笔试题目及详细答案(完整版)适用场景:软件开发、数据分析师、测试工程师入职笔试难度等级:基础+中级(贴合企业常规面试笔试难度)考试时长:60分钟满分:100分一、单项选择题(共10题,每题3分,共30分)1.以下不属于SQL数据操纵语言(DML)的是()A.SELECTB.INSERTC.UPDATED.CREATE2.在SQL中,用于去除查询结果重复数据的关键字是()A.UNIQUEB.DISTINCTC.LIMITD.ORDERBY3.以下关于WHERE和HAVING的说法正确的是()A.WHERE可以过滤分组后的数据B.HAVING可以单独使用,无需GROUPBYC.WHERE在分组前过滤数据,HAVING在分组后过滤数据D.两者功能完全一致,可随意替换4.模糊查询中,匹配任意长度任意字符的通配符是()A._B.%C.*D.?5.聚合函数SUM()、AVG()、COUNT()默认会忽略以下哪种数据()A.0B.空字符串C.NULLD.负数6.用于事务回滚的SQL命令是()A.COMMITB.ROLLBACKC.SAVEPOINTD.SETTRANSACTION7.内连接(INNERJOIN)的查询逻辑是()A.返回左表所有数据,右表匹配不到显示NULLB.返回右表所有数据,左表匹配不到显示NULLC.只返回两张表中匹配条件的数据D.返回两张表所有数据,自动补全空值8.以下索引中,查询效率最高、常用于主键的索引是()A.普通索引B.唯一索引C.主键索引D.全文索引9.SQL中,对查询结果排序的关键字是()A.SORTBYB.ORDERBYC.GROUPBYD.ARRANGEBY10.以下哪个语句可以删除表中所有数据,且不记录事务日志、速度最快()A.DELETE*FROM表名B.TRUNCATETABLE表名C.DROPTABLE表名D.CLEARTABLE表名二、填空题(共5题,每题4分,共20分)1.SQL语言主要分为四大类,分别是DML、DDL、DCL、________。2.分组查询必须使用________关键字,且聚合函数的条件过滤需使用________。3.左连接的完整关键字是________,可以保留左表全部数据。4.约束中,________约束用于保证字段值唯一且非空,________约束用于限制字段不能为空。5.子查询分为相关子查询和________子查询。三、简答题(共3题,每题6分,共18分)1.简述DELETE、TRUNCATE、DROP三者的区别?2.什么是数据库事务?事务的四大特性(ACID)分别是什么?3.索引的优缺点分别是什么?四、SQL实操题(共3题,总分32分)基础数据表说明(所有题目通用)学生表student(学生ID,姓名,性别,年龄,班级ID,入学时间)字段:stu_id(主键)、stu_name、gender、age、class_id、create_time班级表class(班级ID,班级名称,班主任)字段:class_id(主键)、class_name、teacher成绩表score(成绩ID,学生ID,科目,分数)字段:score_id(主键)、stu_id、subject、score1.基础查询(10分)查询所有年龄大于18岁的男学生,显示学生姓名、年龄、入学时间,按年龄降序排序。2.分组统计(10分)统计每个班级的学生人数,显示班级名称、学生人数,筛选出学生人数大于3人的班级。3.多表关联+聚合查询(12分)查询每个学生的姓名、班级名称、平均分,只展示平均分大于80分的学生,按平均分降序排列。参考答案及详细解析一、单项选择题答案及解析1.答案:D解析:SQL四大语言分类:DML(数据操纵):SELECT、INSERT、UPDATE、DELETE;DDL(数据定义):CREATE、ALTER、DROP、TRUNCATE;CREATE属于DDL语句。2.答案:B解析:DISTINCT用于去除查询结果重复行;UNIQUE是表字段约束,用于限制字段唯一,不能用于查询去重。3.答案:C解析:WHERE是分组前过滤原始数据,不支持聚合函数;HAVING是分组后过滤分组结果,支持聚合函数,必须配合GROUPBY使用。4.答案:B解析:%匹配任意长度任意字符;_仅匹配单个任意字符。5.答案:C解析:SUM、AVG、COUNT(字段)会自动忽略字段为NULL的数据;COUNT(*)会统计所有行,包含NULL行。6.答案:B解析:COMMIT是事务提交;ROLLBACK是事务回滚,撤销未提交的所有操作。7.答案:C解析:INNERJOIN内连接,只返回两张表关联字段匹配成功的数据;左连接、右连接会保留单侧表的所有数据。8.答案:C解析:主键索引优先级最高、查询速度最快,每张表只能有一个主键索引,默认非空且唯一。9.答案:B解析:SQL标准排序关键字为ORDERBY,支持ASC升序、DESC降序。10.答案:B解析:TRUNCATE清空表数据,不记录单行事务日志,速度极快;DELETE逐行删除、可回滚;DROP直接删除整张表结构和数据。二、填空题答案1.TCL(事务控制语言)2.GROUPBY、HAVING3.LEFTJOIN(LEFTOUTERJOIN)4.PRIMARYKEY(主键约束)、NOTNULL(非空约束)5.独立(普通)三、简答题详细答案1.DELETE、TRUNCATE、DROP三者的区别①功能不同:DELETE用于删除表中部分或全部数据,保留表结构;TRUNCATE清空整张表数据,保留表结构;DROP直接删除表结构、数据、索引、约束,整张表彻底销毁。②事务支持不同:DELETE属于DML语句,支持事务、可回滚;TRUNCATE和DROP属于DDL语句,执行后不可回滚。③执行效率不同:DROP>TRUNCATE>DELETE,TRUNCATE不记录单行日志,效率远高于DELETE。④自增主键:DELETE删除数据后,自增主键不会重置;TRUNCATE清空数据后,自增主键会重置为初始值。2.数据库事务及ACID四大特性事务是数据库中一组不可分割的SQL操作单元,要么全部执行成功,要么全部执行失败回滚,保证数据一致性。四大特性:原子性(Atomicity):事务内操作不可分割,要么全成、要么全败;一致性(Consistency):事务执行前后,数据库数据完整性约束不被破坏;隔离性(Isolation):多个事务并发执行时,相互独立、互不干扰;持久性(Durability):事务提交成功后,数据永久保存,断电、故障不会丢失。3.索引的优缺点优点:大幅提升查询、筛选、排序、分组的效率;减少数据库磁盘IO,优化检索速度。缺点:占用额外的磁盘存储空间;降低新增、修改、删除数据的效率(数据变动时,索引需要同步更新);过多索引会增加数据库维护成本。四、实操题标准答案(可直接运行)1.基础查询sql

SELECTstu_name,age,create_time

FROMstudent

WHEREage>18ANDgender='男'

ORDERBYageDESC;2.分组统计sql

SELECTc.class_name,COUNT(s.stu_id)ASstudent_num

FROMclassc

LEFTJOINstudentsONc.class_id=s.class_id

GROUPBYc.class_id,c.class_name

HAVINGstudent_num>3;解析:按班级分组,统计对应学生数量,LEFTJOIN保证无学生的班级也能被查询(如需忽略空班级可改用INNERJOIN)。3.多表关联聚合查询sql

SELECTs.stu_name,c.class_name,AVG(sc.score)ASavg_score

FROMstudents

JOINclasscONs.class_id=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论