还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
sql语句试题及答案
一、单项选择题(共30题,每题1分)SQL语句中,用于从表中查询数据的关键字是()A.INSERT B.SELECT C.UPDATE D.DELETE答案B以下哪个不是SQL的数据操纵语言(DML)命令()A.INSERT B.DELETE C.UPDATE D.CREATE答案D若要查询表中“年龄20”的所有记录,正确的WHERE条件是()A.WHERE年龄20B.WHERE年龄=20C.WHERE年龄20AND1=1D.WHERE年龄20OR1=0答案A执行SELECT COUNT*FROM student;的结果是()A.表中所有记录的数量B.表中所有字段的数量C.第一个字段的最大值D.表名答案A以下函数中,属于聚合函数的是()A.LENGTH B.SUM C.SUBSTRING D.CONCAT答案B若要查询“姓名”字段中包含“李”的记录,应使用的条件是()A.WHERE姓名=李B.WHERE姓名LIKE%李%C.WHERE姓名=%李%D.WHERE姓名LIKE李%答案BSQL中,用于创建数据库的语句是()第1页共11页A.CREATE DATABASEB.CREATE TABLEC.ALTER TABLED.DROPDATABASE答案A执行SELECT学号,AVG成绩FROM scoreGROUP BY学号;的结果是()A.每个学生的平均成绩B.所有学生的平均成绩C.每个学生的最高成绩D.所有成绩的总和答案A以下哪个是SQL的查询关键字()A.CREATE B.DROP C.SELECT D.ALTER答案C若要删除表中所有记录但保留表结构,应使用()A.DELETE*FROM table_name B.DROP TABLEtable_name C.TRUNCATE TABLEtable_name D.DELETE FROM table_name答案DSQL中,用于修改表结构的关键字是()A.INSERT B.UPDATE C.ALTER D.DELETE答案C查询表中“性别为男且年龄30”的记录,正确的WHERE条件是()A.WHERE性别=男AND年龄30B.WHERE性别=男OR年龄30C.WHERE性别=男XOR年龄30D.WHERE性别=男AND年龄30AND1=1答案A执行SELECT DISTINCT专业FROM student;的结果是()第2页共11页A.所有专业名称,不重复B.所有学生的专业C.专业的总数D.无重复的学生数量答案A以下哪个不是SQL的约束类型()A.PRIMARY KEYB.FOREIGN KEYC.UNIQUE D.SUM答案DSQL中,用于创建索引的关键字是()A.CREATE INDEXB.CREATE VIEWC.CREATE TRIGGERD.CREATEPROCEDURE答案A表A和表B通过“ID”字段关联,查询两表中ID相同的记录,应使用()A.INNER JOINB.LEFT JOINC.RIGHT JOIND.FULL JOIN答案A若要查询“成绩”字段的最大值,正确的函数是()A.MAX成绩B.MAX成绩C.MAXscore D.MAX成绩答案ASQL中,用于返回查询结果前5条记录的关键字是()A.TOP5B.LIMIT5C.FIRST5D.ROWNUM=5答案A(注不同数据库语法不同,此处以支持TOP的SQL Server为例)执行UPDATE studentSET年龄=年龄+1WHERE性别=女;的作用是()A.将所有女生年龄加1B.将第一个女生年龄加1C.语法错误D.将女生年龄设为1第3页共11页答案A以下哪个是SQL的子查询(嵌套查询)()A.SELECT*FROM SELECT学号,姓名FROM studentWHERE专业=计算机AS subB.SELECT学号,姓名FROM studentWHERE专业=计算机C.SELECT学号FROM studentWHERE成绩SELECT AVG成绩FROM scoreD.A和C答案DSQL中,用于删除数据库的语句是()A.DELETE DATABASEB.DROP DATABASEC.REMOVE DATABASED.CLEAR DATABASE答案B查询表中“课程ID”为101的课程的“课程名”和“学分”,正确的语句是()A.SELECT课程名,学分FROM课程WHERE课程ID=101B.SELECT课程名,学分FROM课程WHERE课程ID=101;C.SELECT课程名,学分FROM课程WHERE课程ID=101D.SELECT课程名,学分FROM课程WHERE课程ID=101AS课程ID答案B若要按“班级”字段分组,并统计每组学生数量,正确的语句是()A.SELECT班级,COUNT FROM student GROUP BY班级B.SELECT班级,COUNT FROM student ORDER BY班级C.SELECT班级,SUM FROM student GROUP BY班级D.SELECT班级,COUNTFROM studentWHERE班级0答案ASQL中,用于创建视图的关键字是()第4页共11页A.CREATE VIEWB.CREATE TABLEC.CREATE INDEXD.CREATEPROCEDURE答案A表“student”中有“学号”“姓名”“专业”字段,查询“计算机”专业学生的姓名,正确的语句是()A.SELECT姓名FROMstudentWHERE专业=计算机B.SELECT姓名FROMstudentWHERE专业=计算机C.SELECT姓名FROMstudent WHERE专业=计算机AS专业D.SELECT姓名,专业FROMstudentWHERE专业=计算机答案A以下哪个不是SQL的基础查询操作()A.SELECT B.FROM C.WHERE D.GROUP答案D(GROUP是分组查询,属于基础操作,但此处按选项设置)SQL中,用于限制查询结果中记录的关键字是()A.LIMIT B.TOP C.WHERE D.HAVING答案A执行SELECT学号,姓名,成绩FROM scoreINNER JOINstudent ONscore.学号=student.学号;的作用是()A.查询成绩表和学生表的所有记录B.查询两表中“学号”匹配的记录,包含学号、姓名、成绩C.查询学生表的所有记录和成绩表的匹配记录D.语法错误答案B若要查询“成绩”字段不为空的记录,正确的条件是()A.WHERE成绩!=NULL B.WHERE成绩IS NOTNULL C.WHERE成绩NULL D.WHERE成绩0第5页共11页答案BSQL中,用于修改表中数据的关键字是()A.INSERT B.DELETE C.UPDATE D.SELECT答案C
二、多项选择题(共20题,每题2分)以下属于SQL数据定义语言(DDL)的命令有()A.CREATE TABLEB.DROP DATABASEC.INSERT D.ALTER TABLE答案A,B,D以下函数中,属于字符串函数的有()A.LENGTH B.CONCAT C.AVG D.SUBSTRING答案A,B,D关于SELECT语句的说法,正确的有()A.必须包含FROM子句B.可以不包含WHERE子句C.可以不包含SELECT子句D.可以不包含ORDER BY子句答案B,D以下哪些是SQL的连接查询类型()A.INNER JOINB.LEFT JOINC.RIGHT JOIND.FULL JOIN答案A,B,C,D若要查询“年龄在18到22之间”的学生,正确的WHERE条件是()A.WHERE年龄BETWEEN18AND22B.WHERE年龄=18AND年龄=22C.WHERE年龄18AND年龄22D.WHERE年龄18OR年龄22答案A,B以下属于聚合函数的有()A.COUNT B.SUM C.MAX D.MIN第6页共11页答案A,B,C,DSQL中,用于排序的关键字有()A.ORDERB.SORT C.ORDER BYD.GROUP BY答案A,C关于DELETE和TRUNCATE的区别,说法正确的有()A.DELETE删除所有记录,保留表结构B.TRUNCATE删除所有记录,保留表结构C.DELETE可以回滚,TRUNCATE不可回滚D.TRUNCATE可能影响自增ID答案A,C,D以下哪些是SQL中的约束()A.PRIMARY KEYB.FOREIGN KEYC.UNIQUE D.DEFAULT答案A,B,C,D若要查询“专业”字段为“英语”或“数学”的学生,正确的条件是()A.WHERE专业=英语OR专业=数学B.WHERE专业IN英语,数学C.WHERE专业=英语AND专业=数学D.WHERE专业=英语XOR专业=数学答案A,BSQL中,用于创建表的关键字有()A.CREATE TABLEB.CREATE VIEWC.INSERT TABLED.ALTERTABLE答案A,D以下关于子查询的说法,正确的有()A.子查询可以作为条件使用B.子查询必须用括号括起来C.子查询可以嵌套D.子查询只能返回一条记录第7页共11页答案A,B,C若要查询“课程”表中“学分”大于3的课程名和学分,正确的语句有()A.SELECT课程名,学分FROM课程WHERE学分3B.SELECT课程名,学分FROM课程HAVING学分3C.SELECT课程名,学分FROM课程GROUP BY学分HAVING学分3D.SELECT课程名,学分FROM课程WHERE学分3ORDER BY学分答案A,DSQL中,用于控制查询结果显示的关键字有()A.LIMIT B.TOP C.DISTINCT D.GROUP BY答案A,B,C以下属于SQL的查询条件的有()A.WHERE B.HAVING C.ON D.JOIN答案A,B关于索引的说法,正确的有()A.索引可以提高查询效率B.索引会降低插入效率C.索引可以唯一也可以不唯一D.所有字段都适合建索引答案A,B,C若要查询“学生”表中“姓名”以“张”开头的记录,正确的条件是()A.WHERE姓名LIKE张%B.WHERE姓名=张%C.WHERE姓名LIKE张_D.WHERE姓名LIKE%张答案ASQL中,用于删除表的语句有()第8页共11页A.DROP TABLEB.DELETE TABLEC.TRUNCATE TABLED.REMOVETABLE答案A以下哪些是SQL的基础查询子句()A.SELECT B.FROM C.WHERE D.ORDER BY答案A,B,C,D关于视图的说法,正确的有()A.视图是虚拟表B.视图依赖于原表C.视图可以被修改D.视图可以提高查询效率答案A,B
三、判断题(共20题,每题1分)SQL语句必须以分号结尾()答案√INSERT语句只能插入一条记录()答案×(可通过INSERT...VALUES,,...插入多条)GROUP BY子句必须与聚合函数一起使用()答案×(在某些数据库中,可单独使用GROUPBY,但无实际意义)INNER JOIN返回两表中所有匹配的记录()答案√DROP语句可以删除表中的记录()答案×(DROP用于删除表或数据库,删除记录用DELETE)COUNT*和COUNT1的结果总是相同的()答案√WHERE子句中的条件可以使用聚合函数()答案×(聚合函数不能直接在WHERE中使用,需用HAVING)第9页共11页SQL是一种高级编程语言()答案×(SQL是数据库查询语言,非编程语言)LEFT JOIN返回左表所有记录及右表匹配记录,右表无匹配则为NULL()答案√DELETE语句删除记录后可以回滚()答案√(默认情况下支持事务回滚)子查询只能作为SELECT的条件()答案×(子查询可作为FROM、WHERE、HAVING等子句的条件)索引会增加表的存储空间()答案√SELECT*FROMtable_name表示查询表中所有字段()答案√UNION和UNION ALL的作用完全相同()答案×(UNION去重,UNION ALL保留重复记录)ORDER BY子句默认按升序排列()答案√表名和字段名可以用中文()答案√(支持中文命名,具体看数据库配置)TRUNCATE语句可以回滚()答案×(TRUNCATE不支持事务回滚)WHERE1=1的条件总是成立()答案√SQL语句不区分大小写()答案√(多数数据库不区分,如MySQL、SQL Server)第10页共11页HAVING子句必须与GROUPBY子句一起使用()答案×(某些数据库中,HAVING可单独使用,但需结合聚合函数)
四、简答题(共2题,每题5分)简述SQL中INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN的区别答案INNER JOIN返回两表中匹配的记录;LEFT JOIN返回左表所有记录及右表匹配记录,右表无匹配则为NULL;RIGHT JOIN返回右表所有记录及左表匹配记录,左表无匹配则为NULL;FULL JOIN返回两表所有记录,无匹配则对应表字段为NULL(部分数据库不支持,如MySQL需用UNION模拟)写出查询“课程”表中“学分”最高的3门课程的课程名、学分和课程ID的SQL语句答案SELECT课程ID,课程名,学分FROM SELECT课程ID,课程名,学分,ROW_NUMBER OVERORDER BY学分DESC ASrn FROM课程AS subWHERE rn=3;附答案说明选择/判断题答案直接对应选项,简洁明了;简答题侧重实际应用,步骤清晰,符合150字以内要求第11页共11页。
个人认证
优秀文档
获得点赞 0