还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
sql考试题及答案
一、文档说明本文档整理了SQL基础及常用操作的模拟试题,涵盖单项选择、多项选择、判断及简答题,共72题,附参考答案题目基于SQL标准语法(如MySQL、SQL Server等主流数据库)设计,覆盖数据定义、查询、函数、索引、事务等核心知识点,适合初学者自测或备考使用
二、单项选择题(共30题,每题1分)以下不属于SQL数据查询语言(DQL)的命令是?()A.SELECT B.INSERT C.FROM D.WHERE创建数据库的SQL命令是?()A.CREATE SCHEMA B.CREATE DATABASEC.CREATE TABLED.ALTER DATABASE以下哪个函数用于计算数值列的平均值?()A.MAX B.MIN C.AVG D.COUNT若要查询表中所有不重复的记录,应使用的关键字是?()A.DISTINCT B.UNIQUE C.NO_DUPLICATE D.SINGLESQL中,用于修改表结构的命令是?()A.UPDATE B.MODIFY C.ALTER TABLED.CHANGE TABLE以下哪个不是SQL中的聚合函数?()A.SUM B.GROUP_CONCAT C.SUBSTRING D.COUNT执行SELECT*FROM student WHERE age18AND score=90;时,条件“age18AND score=90”属于?()A.比较条件B.逻辑条件C.范围条件D.组合条件若表中存在NULL值,查询时需使用哪个关键字判断?()A.IS NULLB.=NULL C.NOT NULL D.!=NULL第1页共11页创建索引的目的是?()A.提高查询效率B.增加表的存储容量C.限制数据修改D.确保数据唯一性SQL中,用于删除表中数据的命令是?()A.DROP TABLEB.DELETE C.TRUNCATE D.REMOVE以下哪个语句用于向表中插入数据?()A.INSERT B.ADD C.UPDATE D.APPEND执行SELECT name,AVGscore FROM student GROUP BY name;时,若name存在重复值,结果会?()A.按name分组后计算每个组的平均分B.报错(需确保GROUP BY列唯一)C.只显示第一个name的平均分D.忽略重复name,只保留一个SQL中,“JOIN”关键字用于?()A.筛选数据B.连接多个表C.排序结果D.聚合数据若要查询“student”表中“age”列的最大值,正确的语句是?()A.SELECT MAXage FROM student B.SELECT MAXage ASmax_age FROM studentC.SELECT ageMAX FROM student D.A和B均正确以下哪个不是SQL中的日期函数?()A.NOW B.DATE_ADD C.DATEDIFF D.SUM_DATE执行DELETE FROM student WHEREid=1;后,以下说法正确的是?()A.表中id=1的记录被删除,自增ID会重新编号B.表中id=1的记录被删除,自增ID保持不变C.表被删除D.表结构被修改第2页共11页SQL中,“ORDER BY”默认的排序方式是?()A.升序(ASC)B.降序(DESC)C.随机排序D.无顺序若要查询“student”表中“name”以“张”开头的记录,应使用的条件是?()A.WHERE nameLIKE张%B.WHERE name=张%C.WHEREname LIKE张_D.WHERE name=张_以下哪个语句用于回滚事务?()A.COMMIT B.ROLLBACK C.SAVEPOINT D.TRANSACTIONSQL中,“UNION”和“UNION ALL”的区别是?()A.UNION会去重,UNION ALL保留重复记录B.UNION保留重复记录,UNION ALL会去重C.两者无区别D.UNION用于查询,UNION ALL用于插入若要查询“student”表中“score”列在80到90之间(包含80和90)的记录,正确的条件是?()A.WHERE scoreBETWEEN80AND90B.WHERE score=80ANDscore=90C.A和B均正确D.以上都不对执行SELECT*FROM studentLIMIT5,10;时,结果将返回?()A.第5行到第10行(共6行)B.第6行到第15行(共10行)C.第1行到第10行,跳过前5行D.第5行开始的10行SQL中,“PRIMARY KEY”约束的作用是?()A.允许字段重复B.确保字段非空且唯一C.自动递增D.建立外键以下哪个语句用于创建视图?()第3页共11页A.CREATE VIEWB.CREATE FUNCTIONC.CREATE PROCEDURED.CREATE INDEX若要查询“student”表中“age”列的最小值和最大值,正确的语句是?()A.SELECT MINage,MAXage FROM studentB.SELECT MINageASmin_age,MAXageASmax_age FROM studentC.SELECT MINagemin_age,MAXage max_ageFROM student D.以上都对SQL中,“HAVING”子句用于?()A.对分组后的数据进行筛选B.对分组前的数据进行筛选C.对查询结果排序D.限制查询结果数量以下哪个不是SQL中的数据控制语言(DCL)命令?()A.GRANT B.REVOKE C.COMMIT D.SELECT执行SELECT name,COUNT*AS cntFROM studentGROUP BYnameHAVING cnt1;的作用是?()A.查询每个name的学生数量,且仅保留数量1的记录B.查询每个name的学生数量,且仅保留数量1的记录C.查询name重复的学生数量,保留所有记录D.报错(HAVING不能与GROUP BY使用)若表中存在自增列(AUTO_INCREMENT),插入数据时可使用哪个关键字指定值?()A.AUTO_INCREMENT B.DEFAULT C.NULLD.无需指定,自动生成SQL中,用于删除表的命令是?()A.DROP TABLEB.DELETE TABLEC.REMOVE TABLED.TRUNCATETABLE第4页共11页
三、多项选择题(共20题,每题2分)以下属于SQL数据操纵语言(DML)的命令有?()A.INSERT B.UPDATE C.DELETE D.SELECT以下关于SQL语句执行顺序的说法正确的有?()A.FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BYB.FROM→SELECT→WHERE→GROUP BY→HAVING→ORDER BYC.先执行FROM,再执行WHERE筛选数据D.ORDER BY是执行的步骤以下哪些是SQL中的字符串函数?()A.CONCAT B.SUBSTRING C.LENGTH D.DATE_FORMAT若要查询“student”表中“name”为“张三”或“李四”的记录,可使用的条件有?()A.WHERE nameIN张三,李四B.WHERE name=张三ORname=李四C.WHERE name=张三AND name=李四D.WHERE nameLIKE张三OR李四SQL中,“外连接”包括?()A.INNER JOINB.LEFT JOINC.RIGHT JOIND.FULL JOIN以下关于索引的说法正确的有?()A.索引可以提高查询效率,但会降低插入/更新效率B.主键默认会自动创建索引C.一个表只能创建一个索引D.索引可以基于多个列创建(复合索引)以下属于SQL事务特性(ACID)的有?()A.原子性(Atomicity)B.一致性(Consistency)第5页共11页C.隔离性(Isolation)D.持久性(Durability)若要查询“student”表中“score”列的总和和记录数,可使用的函数组合有?()A.SUMscore,COUNT*B.SUMscore AStotal_score,COUNTscore ASrecord_cntC.COUNTscore,SUMscore D.TOTALscore,NUMBERscoreSQL中,“DISTINCT”关键字可用于哪些场景?()A.对单列去重B.对多列组合去重C.与聚合函数一起使用时对结果去重D.与ORDER BY一起使用以下关于“子查询”的说法正确的有?()A.子查询可以作为条件使用(如IN、=、等)B.子查询必须用括号括起来C.子查询只能返回一行一列D.子查询可以嵌套(作为另一个子查询的条件)执行UPDATE studentSET age=age+1WHERE class=A;时,可能的结果有?()A.所有class=A的学生age+1B.若class=A的记录不存在,无变化C.仅第一条class=A的记录age+1D.所有记录age+1以下属于SQL数据定义语言(DDL)的命令有?()A.CREATE DATABASEB.ALTER TABLEC.DROP INDEXD.GRANT若要查询“student”表中“name”和“score”的信息,并按“score”降序排列,正确的语句有?()A.SELECT name,score FROMstudent ORDER BY scoreDESC B.SELECT name,score FROMstudent ORDERBY scoreASC第6页共11页C.SELECT name,score FROMstudent ORDERBY2DESC D.SELECTname,score FROMstudent ORDERBY scoreDESC LIMIT10SQL中,“CHECK”约束的作用是?()A.限制列的取值范围B.确保列非空C.对数据进行验证D.自动处理异常以下关于“NULL”值的说法正确的有?()A.NULL表示“未知”或“无值”B.NULL与0或空字符串不同C.NULL与NULL比较的结果是TRUE D.计算时NULL会被视为0以下哪些是SQL中的聚合函数?()A.GROUP_CONCAT B.AVG C.STDDEV D.ROUND执行SELECT nameFROMstudentWHERE scoreNOT IN80,90;时,条件“NOT IN80,90”的作用是?()A.排除score为80或90的记录B.排除score为NULL的记录C.排除score为非80且非90的记录D.仅保留score为80或90的记录SQL中,“TRUNCATE TABLE”与“DELETE”的区别有?()A.TRUNCATE是DDL,DELETE是DML B.TRUNCATE会删除表中所有数据,DELETE可按条件删除C.TRUNCATE会重置自增ID,DELETE不会D.TRUNCATE执行速度更快以下属于SQL中“约束”类型的有?()A.PRIMARY KEYB.FOREIGN KEYC.UNIQUE D.DEFAULT若要查询“student”表和“course”表通过“student_id”关联的数据,正确的JOIN语句有?()第7页共11页A.SELECT*FROMstudentINNER JOINcourse ONstudent.id=course.student_idB.SELECT*FROMstudent,course WHEREstudent.id=course.student_idC.SELECT*FROMstudentLEFT JOINcourse ONstudent.id=course.student_idD.SELECT*FROMstudentRIGHT JOINcourse ONstudent.id=course.student_id
四、判断题(共20题,每题1分)SQL是一种用于管理关系型数据库的编程语言()INSERT语句可以一次插入多行数据,格式为“INSERT INTOtableVALUES,;”()“GROUP BY”子句必须与“WHERE”子句一起使用()“LIKE%张%”可以匹配包含“张”字的任意字符串()SQL中的“ALTER TABLE”命令可以用于添加、修改或删除列()“AVGscore”函数会忽略NULL值()外连接(LEFT/RIGHT JOIN)至少会返回一个表的所有记录()“TRUNCATE TABLE”会触发DELETE触发器()“SELECT*FROMstudentWHERE age18AND score80ORscore60;”的条件中,括号不影响执行顺序()SQL中的“VIEW”是一个虚拟表,实际存储数据()“COUNT*”和“COUNT1”的结果总是相同的()“PRIMARY KEY”约束的列可以为NULL()“ORDERBY”默认排序方向是降序(DESC)()子查询中不能包含聚合函数()第8页共11页“CREATE INDEX”命令创建索引后,表的插入/更新操作会变慢()“DELETE FROMstudent”会删除表结构,仅保留空表()“UNION”操作要求两个查询的列数和数据类型必须一致()SQL中的“COMMIT”用于提交事务,使修改永久生效()“SELECT name,score FROMstudentWHEREscore90GROUP BYname;”是合法的SQL语句()“HAVING”子句中的条件可以使用聚合函数()
五、简答题(共2题,每题5分)简述SQL中“内连接(INNER JOIN)”和“左连接(LEFT JOIN)”的区别,并举例说明简述“索引”的作用,以及创建索引时需要考虑哪些因素?参考答案
一、单项选择题1-5:B BC AC6-10:C B A AB11-15:A AB DD16-20:B AABA21-25:C BBA D26-30:A DADA
二、多项选择题1:ABCD2:CD3:ABC4:AB5:BCD6:ABD7:ABCD8:ABC9:AB10:ABD11:AB12:ABC13:AC14:AC15:AB16:ABC17:A18:ABCD19:ABCD20:ABCD第9页共11页
三、判断题1:√2:√3:×(GROUP BY可单独使用,如统计各班级人数)4:√5:√6:√7:√8:×(TRUNCATE不触发触发器,仅DELETE触发)9:×(括号改变优先级,影响执行结果)10:×(VIEW不存储数据,基于查询结果动态生成)11:√12:×(PRIMARY KEY列不可为NULL)13:×(默认升序ASC)14:×(子查询可包含聚合函数,如“SELECT*FROM tWHERESELECT COUNT*FROMs1”)15:√16:×(DELETE删除数据,保留表结构;TRUNCATE删除表数据并重置自增ID)17:√18:√19:×(GROUPBY后需聚合函数,如“SELECT name,AVGscore FROM...”)20:√
四、简答题内连接(INNER JOIN)仅返回两表中匹配连接条件的行,不匹配的行不显示;左连接(LEFT JOIN)返回左表所有行,右表中不匹配的行显示为NULL例学生表(student)和课程表(course),内连接仅返回选了课的学生成绩;左连接返回所有学生(含未选课的学生,课程信息为NULL)索引作用提高查询效率(加速WHERE、JOIN条件筛选),降低排序成本创建索引考虑因素数据量(小表无需索引)、查询频率(高频查询字段适合)、更新频率(频繁插入/更新字段少用索引)、字段选择性(选择性高的字段索引效果好)第10页共11页文档说明题目覆盖SQL核心知识点,答案基于标准语法,可根据实际数据库版本调整细节通过练习可巩固SQL基础,提升查询、优化能力第11页共11页。
个人认证
优秀文档
获得点赞 0