SQL基础综合试题及详细答案解析_第1页
SQL基础综合试题及详细答案解析_第2页
SQL基础综合试题及详细答案解析_第3页
SQL基础综合试题及详细答案解析_第4页
SQL基础综合试题及详细答案解析_第5页
全文预览已结束

下载本文档

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

文档简介

SQL基础综合试题及详细答案解析适用场景:初学者自测、职场面试笔试、数据库基础考核考试说明:满分100分,答题时间60分钟,题型包含选择题、填空题、简答题、实操编程题一、单项选择题(共10题,每题3分,共30分)1.在SQL中,用于查询数据表所有字段的关键字是()A.ALLB.*C.ANYD.DISTINCT2.以下不属于SQL数据操作语言(DML)的语句是()A.SELECTB.INSERTC.CREATED.UPDATE3.想要去除查询结果中的重复数据,需要使用的关键字是()A.UNIQUEB.DISTINCTC.LIMITD.ORDERBY4.在WHERE子句中,用于模糊查询包含指定字符的关键字是()A.INB.BETWEENC.LIKED.EXISTS5.对查询结果进行升序排序的默认关键字是()A.DESCB.ASCC.SORTD.GROUP6.以下关于NULL值的描述,正确的是()A.NULL等于0B.NULL等于空字符串C.NULL代表未知值D.NULL可以直接用=判断7.用于统计数据表总行数的聚合函数是()A.SUM()B.COUNT()C.MAX()D.AVG()8.GROUPBY分组查询中,用于筛选分组后数据的子句是()A.WHEREB.HAVINGC.IFD.CASE9.内连接查询的关键字是()A.LEFTJOINB.RIGHTJOINC.INNERJOIND.FULLJOIN10.用于删除数据表中所有数据且不删除表结构的语句是()A.DELETEB.DROPC.TRUNCATED.REMOVE二、填空题(共5题,每题4分,共20分)1.SQL语句中,__________语句用于向数据表插入新数据。2.限制查询结果返回条数的关键字是__________(MySQL数据库)。3.聚合函数中,__________用于计算字段平均值,__________用于计算字段总和。4.左连接查询会保留__________表的所有数据,匹配右表对应数据。5.修改数据表中已有数据的SQL语句是__________。三、简答题(共3题,每题6分,共18分)1.简述WHERE和HAVING子句的区别。2.简述DELETE和TRUNCATE的区别。3.简述左连接、右连接、内连接的核心区别。四、实操编程题(共3题,分值分别为10、16、6分,共32分)已知测试数据表结构:学生表student(学生IDsid,姓名sname,年龄sage,性别ssex,班级号class_id)班级表class(班级号class_id,班级名class_name,班主任teacher)数据需求:编写对应SQL语句1.查询所有年龄大于18岁的女生,显示姓名、年龄、性别(10分)2.关联查询学生姓名、对应班级名、班主任姓名,展示所有学生信息(16分)3.统计每个班级的学生人数,显示班级号和对应人数(6分)参考答案及详细解析一、单项选择题答案及解析1.答案:B解析:SQL中使用*代表数据表所有字段;ALL、ANY用于条件判断,DISTINCT用于去重。2.答案:C解析:SQL分为四大语言:DML(数据操作)、DDL(数据定义)、DCL(数据控制)、TCL(事务控制)。SELECT、INSERT、UPDATE、DELETE属于DML;CREATE属于DDL,用于创建数据库、数据表。3.答案:B解析:DISTINCT专门用于去除查询结果重复行;UNIQUE是字段唯一约束,LIMIT限制条数,ORDERBY用于排序。4.答案:C解析:LIKE搭配通配符%、_实现模糊查询;IN用于匹配多个固定值,BETWEEN用于区间查询,EXISTS用于子查询判断。5.答案:B解析:ASC为升序排序(默认可省略);DESC为降序排序,SORT、GROUP非排序关键字。6.答案:C解析:NULL代表未知、空值,既不等于0,也不等于空字符串;判断NULL值必须使用ISNULL/ISNOTNULL,不能用=、!=判断。7.答案:B解析:COUNT()用于统计行数或非空字段数量;SUM()求和、MAX()求最大值、AVG()求平均值。8.答案:B解析:WHERE用于分组之前筛选原始数据,HAVING用于分组之后筛选分组结果,可使用聚合函数。9.答案:C解析:INNERJOIN为内连接,只返回两张表中匹配成功的数据;LEFTJOIN左连接、RIGHTJOIN右连接、FULLJOIN全连接。10.答案:C解析:TRUNCATE清空表所有数据,保留表结构,且无法回滚;DELETE可删除指定数据,支持事务回滚;DROP直接删除整张表(结构+数据)。二、填空题答案及解析1.INSERT解析:INSERTINTO表名(字段)VALUES(值)为数据插入标准语句。2.LIMIT解析:MySQL使用LIMIT限制返回数据条数,Oracle使用ROWNUM。3.AVG()、SUM()解析:AVG(字段)计算字段平均值,SUM(字段)计算字段数值总和。4.左解析:左连接(LEFTJOIN)保留左表全部数据,右表无匹配数据时显示NULL。5.UPDATE解析:UPDATE表名SET字段=值WHERE条件,用于更新表中已有数据。三、简答题答案及解析1.WHERE和HAVING子句的区别①执行顺序不同:WHERE在分组(GROUPBY)之前过滤原始数据;HAVING在分组之后过滤分组后的结果。②函数支持不同:WHERE子句不支持聚合函数(SUM、COUNT等);HAVING子句支持聚合函数。③适用场景不同:WHERE用于筛选单条原始数据;HAVING用于筛选分组后的整体数据。2.DELETE和TRUNCATE的区别①删除范围:DELETE可通过WHERE条件删除指定数据,无条件时删除全表数据;TRUNCATE只能清空整张表所有数据,无法指定条件。②事务支持:DELETE属于DML语句,支持事务,可以回滚;TRUNCATE属于DDL语句,不支持事务,无法回滚。③效率:TRUNCATE清空数据速度远快于DELETE。④自增主键:TRUNCATE会重置表的自增主键;DELETE删除数据后,自增主键不会重置。3.左连接、右连接、内连接的核心区别①内连接(INNERJOIN):只返回两张表中匹配成功的数据,无匹配的数据不展示。②左连接(LEFTJOIN):保留左表所有数据,匹配右表对应数据,右表无匹配字段显示NULL。③右连接(RIGHTJOIN):保留右表所有数据,匹配左表对应数据,左表无匹配字段显示NULL。四、实操编程题答案及解析1.查询所有年龄大于18岁的女生,显示姓名、年龄、性别sql

SELECTsname,sage,ssexFROMstudentWHEREsage>18ANDssex='女';解析:指定查询字段,通过WHERE条件同时筛选年龄和性别,精准匹配需求数据。2.关联查询学生姓名、对应班级名、班主任姓名,展示所有学生信息sql

SELECTs.sname,c.class_name,c.teacher

FROMstudents

LEFTJOINclasscONs.class_id=c.class_id;解析:需求要求展示所有学生,因此使用左连接,以学生表为左表,确保无班级的学生也能正常展示,无匹配班级字段显示NULL;使用表别名简化语句。3.统计每个班级的学生人数,

温馨提示

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

评论

0/150

提交评论