还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
sql笔试题及答案
一、文档说明本文档包含SQL基础及进阶知识点的模拟试题,分为单项选择、多项选择、判断及简答题四种题型,共72题,答案附后适合SQL初学者巩固基础、备考面试或教学练习使用,通过试题帮助读者掌握SQL核心语法、查询逻辑及实际应用能力
二、单项选择题(共30题,每题1分)以下哪个不是SQL的核心功能?()A.数据查询(SELECT)B.数据定义(CREATE)C.数据处理(PROCESS)D.数据控制(GRANT/REVOKE)SQL语言的全称是()A.Structured QueryLanguageB.Standard QueryLanguageC.Structured QuestionLanguageD.System QueryLanguage执行SELECT10/3;后,结果是()A.
3.
333...B.3C.
3.0D.报错以下哪个关键字用于从表中筛选数据?()A.ORDER BYB.WHERE第1页共15页C.GROUP BYD.HAVING若表student包含字段id(主键)、name、age,执行SELECT nameFROM student WHERE age20AND age30;的作用是()A.查询年龄大于20或小于30的学生姓名B.查询年龄在20到30之间(含20和30)的学生姓名C.查询年龄在20到30之间(不含20和30)的学生姓名D.查询年龄大于20且小于30的学生姓名以下哪个函数用于计算表中记录数?()A.SUMB.COUNTC.AVGD.MAX执行SELECT DISTINCTage FROM student;的结果是()A.查询所有学生的年龄,包括重复值B.查询所有学生的年龄,去除重复值C.查询年龄最大的学生D.按年龄升序排列学生若需按age字段降序排列查询结果,应使用的关键字是()A.ORDER BY age ASCB.ORDER BYage DESCC.SORT BYage DESCD.GROUP BYage DESC以下哪个语句用于创建表?()A.CREATE TABLE第2页共15页B.INSERT TABLEC.ALTER TABLED.UPDATE TABLE执行UPDATE studentSET age=22WHERE id=101;的作用是()A.新增一条id=101的记录,age=22B.将id=101的学生年龄修改为22C.删除id=101的记录D.查询id=101的学生年龄若表student和course通过student_id关联,查询选修了“数据库原理”课程的学生姓名,需使用的连接方式是()A.INNER JOINB.LEFT JOINC.RIGHT JOIND.FULL JOIN以下哪个是SQL中的聚合函数?()A.LIKEB.INC.COUNTD.AS执行SELECT name,AVGscore FROMscore GROUP BY name;的作用是()A.查询每个学生的平均分数B.查询所有学生的平均分数C.查询每个科目的平均分数D.按姓名升序排列学生的分数第3页共15页若需筛选分组后的结果(如平均分数大于80的学生),应使用的关键字是()A.WHEREB.HAVINGC.ORDER BYD.GROUP BY以下哪个不是SQL中的约束类型?()A.PRIMARY KEYB.FOREIGN KEYC.UNIQUED.AUTO_INCREMENT执行DELETE FROM student WHEREid=101;的作用是()A.删除表studentB.删除id=101的记录C.删除id=101的字段D.清空表student以下哪个语句用于删除表?()A.DROP TABLEB.DELETE TABLEC.TRUNCATE TABLED.REMOVE TABLE若需给查询结果的列重命名,应使用的关键字是()A.RENAMEB.ASC.ALIAS第4页共15页D.NAME执行SELECT*FROM student WHERE ageBETWEEN18AND22;等价于()A.SELECT*FROM studentWHERE age=18AND age=22B.SELECT*FROM studentWHERE age18AND age22C.SELECT*FROM studentWHERE age=18OR age=22D.SELECT*FROM studentWHERE age18OR age22以下哪个函数用于获取当前系统日期?()A.NOWB.CURRENT_DATEC.GET_DATED.DATE若表emp包含字段salary,查询工资最高的员工姓名,正确的语句是()A.SELECT nameFROM empORDER BYsalary DESC LIMIT1B.SELECT nameFROM empWHERE salary=MAXsalaryC.SELECT name,MAXsalary FROM empD.SELECT nameFROMempGROUP BYsalary HAVINGMAXsalary以下哪个是SQL中的条件查询操作符?()A.ASB.INC.GROUPD.ORDER执行SELECT nameFROM studentWHERE ageIN18,20,22;的作用是()第5页共15页A.查询年龄为
18、20或22的学生姓名B.查询年龄在18到22之间的学生姓名C.查询年龄不等于
18、
20、22的学生姓名D.查询年龄包含
18、
20、22的学生姓名以下哪个是SQL中的子查询?()A.SELECT nameFROM studentWHERE ageSELECT AVGage FROMstudentB.SELECT name,age FROM studentC.SELECT nameAS姓名FROM studentD.SELECT*FROM studentJOIN course若需创建唯一索引,应使用的关键字是()A.UNIQUE INDEXB.PRIMARY INDEXC.FOREIGN INDEXD.UNIQUE KEY执行SELECT*FROM studentUNION SELECT*FROM student;的结果是()A.合并两个表的结果,去除重复行B.合并两个表的结果,保留重复行C.仅查询第一个表的结果D.仅查询第二个表的结果以下哪个语句用于修改表结构?()A.INSERTB.UPDATEC.ALTER第6页共15页D.DELETE若表student中id为主键,执行INSERT INTOstudent VALUES101,张三,20;的作用是()A.新增一条记录,id=101,姓名=张三,年龄=20B.更新id=101的记录C.删除id=101的记录D.查询id=101的记录执行SELECT nameFROM studentWHERE nameLIKE张%;的作用是()A.查询姓名以“张”开头的学生B.查询姓名包含“张”的学生C.查询姓名为“张”的学生D.查询姓名以“张”结尾的学生以下哪个是SQL中的事务控制语句?()A.COMMITB.SAVEPOINTC.ROLLBACKD.以上都是
三、多项选择题(共20题,每题2分)以下属于SQL数据查询语言(DQL)的关键字有()A.SELECTB.INSERTC.DELETED.WHEREE.GROUP BY第7页共15页以下哪些是SQL中的数据类型?()A.INTB.VARCHARC.DATED.BOOLEANE.FLOAT执行SELECT name,ageFROM student ORDER BYageDESCLIMIT5;的功能包括()A.查询学生姓名和年龄B.按年龄降序排列C.只取前5条记录D.按姓名升序排列E.对年龄求和以下关于JOIN的描述正确的有()A.INNER JOIN返回两个表中匹配的记录B.LEFT JOIN返回左表所有记录,右表无匹配则为NULLC.RIGHT JOIN返回右表所有记录,左表无匹配则为NULLD.FULL JOIN返回两个表所有记录,无匹配则为NULLE.交叉连接(CROSS JOIN)返回两个表的笛卡尔积以下哪些是SQL中的聚合函数?()A.SUMB.COUNTC.AVGD.MAXE.MIN第8页共15页以下关于WHERE和HAVING的区别,描述正确的有()A.WHERE用于筛选行,HAVING用于筛选分组后的结果B.WHERE可以使用聚合函数,HAVING不能C.WHERE在GROUP BY之前执行,HAVING在GROUP BY之后执行D.WHERE和HAVING都可以直接筛选所有行E.WHERE不能用于筛选聚合结果,HAVING可以以下哪些语句可以用于修改表结构?()A.ALTER TABLE...ADD COLUMNB.ALTER TABLE...DROP COLUMNC.ALTER TABLE...MODIFY COLUMND.ALTER TABLE...RENAME TOE.ALTER TABLE...TRUNCATE以下关于索引的描述正确的有()A.索引可以提高查询效率B._索引会降低插入/更新/删除的效率C.主键默认会自动创建唯一索引D.唯一索引不允许重复值E.索引可以存储所有数据以下哪些是SQL中的约束?()A.PRIMARY KEYB.FOREIGN KEYC.UNIQUED.NOT NULLE.DEFAULT执行DELETE FROMstudentWHERE1=1;的结果可能有()第9页共15页A.删除所有记录B.删除表结构C.不删除任何记录D.受事务控制E.触发触发器以下关于UNION和UNION ALL的区别,正确的有()A.UNION会去除重复行,UNION ALL保留重复行B.UNION ALL的效率比UNION高C.UNION和UNION ALL都可以合并两个查询结果D.合并的两个查询结果列数必须相同E.合并的两个查询结果列名必须相同以下哪些是SQL中的连接查询方式?()A.INNER JOINB.LEFT JOINC.RIGHT JOIND.FULL JOINE.SELF JOIN以下关于NULL的描述正确的有()A.NULL表示“无值”或“未知值”B.NULL与任何值比较(包括NULL)都返回UNKNOWNC.NULL可以用IS NULL判断D.NULL可以用=NULL判断E.NULL参与计算时结果仍为NULL以下哪些是SQL中的数据操纵语言(DML)?()A.SELECT第10页共15页B.INSERTC.UPDATED.DELETEE.CREATE执行SELECT*FROMstudentWHERE age18AND score80ORname=李四;的条件包括()A.age18B.score80C.name=李四D.age18且score80或name=李四E.age18或score80且name=李四以下关于GROUP BY的描述正确的有()A.可以按单个字段分组B.可以按多个字段分组C.分组后可以使用HAVING筛选D.GROUP BY必须与聚合函数一起使用E.GROUP BY后的字段会显示在结果中以下哪些是SQL中的保留字?()A.SELECTB.FROMC.WHERED.TABLEE.DATE以下关于TRUNCATE和DELETE的区别,正确的有()A.TRUNCATE是DDL语句,DELETE是DML语句第11页共15页B.TRUNCATE删除全表数据,DELETE可按条件删除C.TRUNCATE会重置自增主键,DELETE不会D.TRUNCATE会触发DELETE触发器,DELETE不会E.TRUNCATE比DELETE删除速度快以下哪些可以用于限制查询结果的行数?()A.LIMITB.TOPC.ROWNUMD.FETCH FIRSTE.SKIP以下关于SQL事务的ACID特性,描述正确的有()A.A原子性(Atomicity)B.C一致性(Consistency)C.I隔离性(Isolation)D.D持久性(Durability)E.所有事务必须满足ACID特性
四、判断题(共20题,每题1分)SQL中的关键字必须大写,否则会报错()SELECT*FROMstudentWHERE age=NULL;可以正确查询年龄为NULL的学生()ORDER BY默认按升序排列,ASC关键字可显式指定()INNER JOIN可以简写成JOIN,默认是内连接()COUNT*和COUNT1都返回表中所有记录数,包括NULL值()WHERE子句中可以使用聚合函数(如SUM、AVG)()主键(PRIMARY KEY)可以为NULL()第12页共15页TRUNCATE语句可以回滚(通过事务)()UNION操作要求两个查询结果的列数和数据类型必须一致()LIKE%张_可以匹配姓名为“张三”、“张四”等的学生(假设姓名为两个字)()GROUP BY子句必须出现在WHERE子句之后,ORDERBY之前()索引越多,查询效率越高,对插入/更新/删除影响越小()UPDATE语句可以不写WHERE子句,会更新全表数据()LEFT JOIN返回左表所有记录,右表无匹配时,右表字段为NULL()SELECT nameFROMstudentWHERE age20AND age30等价于SELECT nameFROMstudentWHEREageBETWEEN20AND30()HAVING子句可以单独使用(无需GROUP BY)()DELETE语句删除数据后,自增主键会从初始值重新开始()IS NULL和IS NOTNULL用于判断字段是否为NULL()CROSS JOIN可以不指定连接条件,返回两表的笛卡尔积()SQL中的ALTER TABLE可以添加新字段并设置默认值()
五、简答题(共2题,每题5分)简述SQL中INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN的区别,并说明各自适用场景写出SQL语句查询学生表student中每个学生的姓名、年龄和平均成绩(假设成绩表为score,通过student_id关联,成绩字段为grade),要求平均成绩保留1位小数,且年龄大于18岁,按平均成绩降序排列答案部分
一、单项选择题(每题1分)第13页共15页C
2.A
3.B
4.B
5.D
6.B
7.B
8.B
9.A
10.BA
12.C
13.A
14.B
15.D
16.B
17.A
18.B
19.A
20.AA
22.B
23.A
24.A
25.A
26.A
27.C
28.A
29.A
30.D
二、多项选择题(每题2分)ADE
2.ABCDE
3.ABC
4.ABCDE
5.ABCDE
6.ACE
7.ABCD
8.ABCD
9.ABCDE
10.ADEABCD
12.ABCDE
13.ABCE
14.BCD
15.AD
16.ABCE
17.ABCDE
18.ABCE
19.ABCD
20.ABCD
三、判断题(每题1分)×
2.×
3.√
4.√
5.√
6.×
7.×
8.×
9.√
10.√×
12.×
13.√
14.√
15.×
16.×
17.×
18.√
19.√
20.√
四、简答题(每题5分)区别与场景INNER JOIN返回两表匹配行,无匹配则不显示(适用于需满足两表条件的数据查询)LEFT JOIN返回左表所有行,右表无匹配则右表字段为NULL(适用于需保留左表全部数据,关联右表可选数据)RIGHT JOIN返回右表所有行,左表无匹配则左表字段为NULL(适用于需保留右表全部数据,关联左表可选数据)FULL JOIN返回两表所有行,无匹配则对应表字段为NULL(适用于需合并两表全部数据,且需显示无匹配行)SQL语句SELECT s.name,s.age,ROUNDAVGsc.grade,1AS avg_grade第14页共15页FROMstudentsJOIN scoresc ONs.id=sc.student_idWHERE s.age18GROUPBYs.id,s.name,s.ageORDER BYavg_grade DESC;文档说明试题覆盖SQL核心语法、查询逻辑、表操作、约束、索引等知识点,答案简洁准确,适合巩固基础和实践应用第15页共15页。
个人认证
优秀文档
获得点赞 0