SQL笔试真题(含答案解析)_第1页
SQL笔试真题(含答案解析)_第2页
SQL笔试真题(含答案解析)_第3页
SQL笔试真题(含答案解析)_第4页
SQL笔试真题(含答案解析)_第5页
全文预览已结束

下载本文档

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

文档简介

SQL笔试真题(含答案解析)说明:本套试题为企业通用SQL笔试真题,涵盖基础查询、条件筛选、聚合统计、分组排序、联表查询、子查询、数据库基础等核心考点,适配数据分析、开发、测试岗位笔试,所有题目均附标准答案及详细解析。默认数据库为MySQL。一、基础选择题(共10题)1.SQL中用于查询数据表所有字段的关键字是?()A.ALLB.*C.ANYD.%答案:B解析:SELECT*代表查询数据表中所有字段数据,ALL、ANY为条件关键字,%是模糊查询通配符。2.以下哪个语句可以实现对查询结果去重?()A.UNIQUEB.DISTINCTC.LIMITD.ORDERBY答案:B解析:DISTINCT用于去除查询结果重复数据;UNIQUE是约束关键字,LIMIT用于限制查询条数,ORDERBY用于排序。3.筛选字段值为空的数据,正确的写法是?()A.WHERE字段=NULLB.WHERE字段ISNULLC.WHERE字段='NULL'D.WHERENULL=字段答案:B解析:NULL代表未知值,不能用等号判断,必须使用ISNULL/ISNOTNULL做空值筛选。4.以下不属于聚合函数的是?()A.SUM()B.COUNT()C.IF()D.MAX()答案:C解析:SUM求和、COUNT统计条数、MAX求最大值均为聚合函数;IF()是条件判断函数,属于流程函数。5.GROUPBY分组查询中,筛选分组后数据的关键字是?()A.WHEREB.HAVINGC.FILTERD.LIKE答案:B解析:WHERE用于分组、聚合前筛选原始数据;HAVING用于分组、聚合后筛选分组结果,可使用聚合函数。6.MySQL中,用于模糊查询包含“测试”二字的内容,正确的通配符写法是?()A.%测试%B._测试_C.?测试?D.*测试*答案:A解析:%匹配任意多个字符,_匹配单个任意字符,MySQL模糊查询仅支持%和_两个通配符。7.内连接的关键字是?()A.LEFTJOINB.RIGHTJOINC.INNERJOIND.FULLJOIN答案:C解析:INNERJOIN为内连接,只返回两表匹配的数据;LEFT/RIGHTJOIN为左右外连接,MySQL不支持FULLJOIN。8.排序中ORDERBY字段DESC代表?()A.升序排序B.降序排序C.随机排序D.无序排列答案:B解析:ASC为升序(默认),DESC为降序。9.限制查询结果只显示前10条数据的关键字是?()A.TOP10B.LIMIT10C.FIRST10D.ROWNUM10答案:B解析:MySQL使用LIMIT,SQLServer使用TOP,Oracle使用ROWNUM。10.以下关于主键说法正确的是?()A.主键可以为空B.主键值可以重复C.一张表只能有一个主键D.主键可以多个答案:C解析:主键唯一且非空,一张数据表只能定义一个主键,可由单个或多个字段组合而成。二、基础填空题(共5题)1.SQL中四大基础操作分别是增、删、改、______。答案:查(对应语句:INSERT、DELETE、UPDATE、SELECT)2.统计数据表总行数的聚合函数是______。答案:COUNT()3.左连接会保留______表的所有数据,匹配右表对应数据。答案:左4.对查询结果进行分组的关键字是______。答案:GROUPBY5.给查询字段起别名的关键字是______。答案:AS(可省略,直接空格别名即可)三、实操简答题(共6题,企业高频真题)通用测试表结构(所有实操题通用)学生表student(学生IDsid,姓名sname,性别gender,年龄age,班级class,入学时间create_time)成绩表score(主键id,学生IDsid,科目subject,分数score)1.查询所有班级为“一班”的学生信息参考答案:sql

SELECT*FROMstudentWHEREclass='一班';解析:简单条件筛选,精准匹配班级字段内容。2.查询年龄在18-20岁之间的学生姓名、年龄,结果按年龄降序排列参考答案:sql

SELECTsname,ageFROMstudentWHEREageBETWEEN18AND20ORDERBYageDESC;解析:BETWEEN用于区间筛选,ORDERBY字段DESC实现降序排序。3.统计每个班级的学生人数,人数大于3人的班级展示出来参考答案:sql

SELECTclass,COUNT(sid)ASstudent_numFROMstudentGROUPBYclassHAVINGstudent_num>3;解析:按班级分组,COUNT统计人数,HAVING筛选分组后的统计结果,不能使用WHERE。4.查询所有学生的姓名、科目、分数,关联学生表和成绩表参考答案:sql

SELECTs.sname,sc.subject,sc.scoreFROMstudentsINNERJOINscorescONs.sid=sc.sid;解析:通过学生ID关联两张表,使用内连接查询学生对应的科目成绩,表名简化别名提升可读性。5.查询每个学生的平均分、最高分、最低分参考答案:sql

SELECTsid,AVG(score)ASavg_score,MAX(score)ASmax_score,MIN(score)ASmin_scoreFROMscoreGROUPBYsid;解析:按学生ID分组,通过AVG、MAX、MIN聚合函数统计对应成绩数据。6.查询出平均分最高的学生ID和平均分参考答案:sql

SELECTsid,AVG(score)ASavg_scoreFROMscoreGROUPBYsidORDERBYavg_scoreDESCLIMIT1;解析:先分组统计每个学生平均分,再按平均分降序,取第一条数据即为最高分学生。四、进阶错题解析(高频易错考点)易错点1:WHERE和HAVING混用错误写法:SELECTclass,COUNT(*)FROMstudentWHERECOUNT(*)>3GROUPBYclass;正确逻辑:WHERE不能识别聚合函数,聚合统计后的筛选必须用HAVING。易错点2:空值判断错误错误写法:WHEREage=NULL正确逻辑:NULL无等值匹配,必须使用WHEREageISNULL。易错点3:分组查询字段不规范分组查询中,SELECT后的非聚合字段,必须出现在GROUPBY之后,否则会报语法错误。五、简答题(面试笔试常考)1.简述左连接、右连接、内连接的区别?答案:1.内连接(INNERJOIN):只返回两张表中匹配关联条件的数据,无匹配数据不展示;2.左连接(LEFTJOIN):保留左表所有数据,右表匹配数据正常展示,无匹配则显示NULL;3

温馨提示

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

评论

0/150

提交评论