SQL基础测试题(含答案及详细解析)_第1页
SQL基础测试题(含答案及详细解析)_第2页
SQL基础测试题(含答案及详细解析)_第3页
SQL基础测试题(含答案及详细解析)_第4页
SQL基础测试题(含答案及详细解析)_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

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

文档简介

SQL基础测试题(含答案及详细解析)适用人群:软件测试、开发入门、数据库基础学习者考试说明:满分100分,答题时间60分钟,题型包含选择题、填空题、简答题、实操查询题测试数据库表说明(所有实操题基于以下三张表)为统一答题标准,本次所有题目基于学生、课程、成绩三张基础数据表,表结构及初始数据如下:1.学生表student(学生编号,学生姓名,性别,年龄,班级)字段:stu_id(主键),stu_name,gender,age,class_name2.课程表course(课程编号,课程名称,授课老师)字段:course_id(主键),course_name,teacher3.成绩表score(成绩编号,学生编号,课程编号,分数)字段:score_id(主键),stu_id(外键),course_id(外键),score一、单项选择题(每题3分,共30分)1.在SQL中,用来查询数据表数据的核心关键字是()A.INSERTB.SELECTC.UPDATED.DELETE2.以下哪个语句可以实现对查询结果去重()A.UNIQUEB.DISTINCTC.ORDERBYD.GROUPBY3.WHERE子句的作用是()A.分组统计数据B.排序数据C.筛选符合条件的数据D.去重数据4.模糊查询中,匹配任意长度字符的通配符是()A._B.%C.&D.#5.排序关键字中,降序排列的标识是()A.ASCB.DESCC.SORTD.DOWN6.以下不属于DML(数据操纵语言)的是()A.SELECTB.CREATEC.INSERTD.UPDATE7.统计数据表总记录条数的聚合函数是()A.SUM()B.AVG()C.COUNT()D.MAX()8.多表查询中,只返回两张表匹配数据的连接方式是()A.LEFTJOINB.RIGHTJOINC.INNERJOIND.FULLJOIN9.限制查询结果返回条数的关键字是()A.LIMITB.TOPC.MAXD.MIN10.HAVING子句的作用是()A.筛选分组前数据B.筛选分组后数据C.排序数据D.去重数据二、填空题(每题2分,共20分)1.SQL中,插入数据的关键字是__________。2.修改表中已有数据的关键字是__________。3.删除表中数据但不删除表结构的关键字是__________。4.聚合函数中,求平均值的函数是__________,求和的函数是__________。5.分组查询必须使用的关键字是__________。6.左连接查询会以__________表为基准,返回所有数据。7.判断字段值是否为空的关键字是__________。8.SQL语句中,条件范围匹配(介于两者之间)的关键字是__________。9.给查询字段起别名的关键字是__________。10.子查询中,用来判断集合中存在数据的关键字是__________。三、简答题(每题5分,共15分)1.简述WHERE和HAVING的区别?2.简述INNERJOIN、LEFTJOIN、RIGHTJOIN的区别?3.简述DELETE和TRUNCATE的区别?四、实操查询题(每题7分,共35分)基于前文三张数据表,编写对应SQL语句1.查询所有学生的全部信息,按年龄降序排序。2.查询班级为“高一(1)班”的学生姓名、性别、年龄。3.查询所有学生的姓名、对应的课程名称、考试分数。4.统计每个班级的学生总人数,展示班级名称和人数。5.查询数学课程分数大于80分的学生姓名和对应分数。参考答案及详细解析一、单项选择题答案及解析1.答案:B解析:SELECT是数据查询语句;INSERT用于插入数据,UPDATE用于更新数据,DELETE用于删除数据。2.答案:B解析:DISTINCT关键字可去除查询结果中的重复数据;UNIQUE是建表约束,并非查询关键字;ORDERBY用于排序,GROUPBY用于分组。3.答案:C解析:WHERE用于查询前筛选符合条件的单条或多条数据,是SQL基础条件筛选语句。4.答案:B解析:%匹配任意长度(包括0长度)的字符;_仅匹配单个任意字符。5.答案:B解析:ASC为升序(默认),DESC为降序,排序语句默认可不写ASC。6.答案:B解析:DML为数据操纵语言,包含SELECT、INSERT、UPDATE、DELETE;CREATE属于DDL数据定义语言,用于创建数据库、数据表。7.答案:C解析:COUNT()统计记录数;SUM()求和、AVG()求平均值、MAX()求最大值。8.答案:C解析:INNERJOIN内连接,只返回两张表中相互匹配的关联数据;左、右连接会保留对应基准表的全部数据。9.答案:A解析:MySQL使用LIMIT限制查询条数,SQLServer使用TOP,本题为通用基础考点,标准答案为LIMIT。10.答案:B解析:WHERE在分组(GROUPBY)之前筛选数据,HAVING在分组之后对分组结果进行筛选。二、填空题答案及解析1.INSERT解析:INSERTINTO表名(字段)VALUES(值)为标准插入数据语句。2.UPDATE解析:UPDATE表名SET字段=值WHERE条件,用于更新表中已有数据。3.DELETE解析:DELETE仅删除数据,保留表结构;DROP用于直接删除数据表。4.AVG()、SUM()解析:两大基础聚合函数,分别对应平均值、求和统计。5.GROUPBY解析:分组查询必须搭配GROUPBY,所有非聚合查询字段必须出现在分组字段中。6.左(主)解析:LEFTJOIN左连接,以左侧数据表为基准,展示左表所有数据,右表无匹配数据显示NULL。7.ISNULL解析:SQL中判断空值不能用=NULL,必须使用ISNULL,非空判断为ISNOTNULL。8.BETWEEN...AND...解析:用于匹配字段值在指定区间内的数据,包含区间两端数值。9.AS解析:AS可给字段、表起别名,也可省略直接空格简写。10.EXISTS解析:EXISTS用于判断子查询结果是否存在数据,存在则返回真,效率高于IN。三、简答题详细答案1.WHERE和HAVING的区别①执行顺序不同:WHERE在分组之前执行,筛选原始数据;HAVING在分组、聚合计算之后执行,筛选分组后的结果。②适用范围不同:WHERE不能使用聚合函数(SUM、COUNT等);HAVING可以使用聚合函数。③优先级不同:WHERE筛选效率更高,优先使用WHERE过滤原始数据,减少分组计算数据量。2.三种连接方式的区别①INNERJOIN(内连接):只返回两张表中关联字段匹配成功的数据,无匹配数据则不展示。②LEFTJOIN(左连接):以左表为基准,展示左表所有数据,右表匹配不到的字段填充NULL。③RIGHTJOIN(右连接):以右表为基准,展示右表所有数据,左表匹配不到的字段填充NULL。3.DELETE和TRUNCATE的区别①删除方式:DELETE逐行删除表数据,可带WHERE条件精准删除;TRUNCATE清空整张表所有数据,无法条件删除。②日志记录:DELETE会记录操作日志,可回滚恢复数据;TRUNCATE不记录详细日志,无法回滚。③自增主键:DELETE删除数据后,自增主键数值延续之前数值;TRUNCATE清空表后,自增主键重置归零。④执行效率:TRUNCATE清空速度远快于DELETE。四、实操题标准答案(可直接执行)1.查询所有学生信息,按年龄降序sql

SELECT*FROMstudentORDERBYageDESC;2.查询高一(1)班学生姓名、性别、年龄sql

SELECTstu_name,gender,ageFROMstudentWHEREclass_name='高一(1)班';3.查询学生姓名、课程名称、对应分数(三表联查)sql

SELECTs.stu_name,c.course_name,sc.score

FROMstudents

INNERJOINscorescONs.stu_id=sc.stu_id

INNERJOINcoursecONsc.course_id=c.course_id;4.统计每个班级学生人数sql

SELECTclass_name,COUNT(stu_id)ASstudent_num

FROMstudent

GROUPBYclass_name

温馨提示

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

评论

0/150

提交评论