还剩7页未读,继续阅读
文本内容:
作业sql试题及答案
一、单项选择题(共30题,每题1分)本部分共30题,每题只有一个正确答案,将正确选项的字母填入括号内SQL语言中,用于从表中查询数据的命令是()A.INSERT B.SELECT C.UPDATE D.DELETE以下哪个不是SQL的常用数据类型()A.INT B.VARCHAR C.DATE D.ARRAY执行SELECT COUNT*FROM students;的结果是()A.表中所有记录的数量B.表中所有字段的数量C.表中数值型字段的数量D.表中字符串型字段的数量SQL中,用于过滤查询结果的条件关键字是()A.GROUP BYB.WHERE C.HAVING D.ORDER BY以下语句中,正确的UPDATE语法是()A.UPDATE studentsSET age=20WHERE id=1;B.UPDATE studentsSET age=20,name=张三WHERE id=1;C.A和B都正确D.A和B都错误表orders中有字段order_id(主键)、user_id、amount,要查询用户ID为100的订单总金额,正确的语句是()A.SELECT SUMamountFROM ordersWHERE user_id=100;B.SELECT COUNTamountFROM ordersWHERE user_id=100;C.SELECT AVGamountFROM ordersWHERE user_id=100;D.SELECT MAXamountFROM ordersWHERE user_id=100;SQL中,用于对查询结果分组统计的关键字是()A.GROUP BYB.WHERE C.ORDER BYD.DISTINCT第1页共9页以下哪个语句用于创建新表()A.CREATE TABLEB.ALTER TABLEC.DROP TABLED.TRUNCATETABLE表students中有字段id、name、age,要查询年龄大于18且性别为男的学生姓名,正确的WHERE条件是()A.WHERE age18AND gender=男B.WHERE age18ORgender=男C.WHERE age18,gender=男D.WHERE age18;gender=男SQL中,用于对查询结果排序的关键字是()A.GROUP BYB.ORDER BYC.HAVING D.LIMIT执行SELECT DISTINCTage FROM students;的结果是()A.表中所有年龄值,去重后显示B.表中年龄的总和C.表中年龄的最大值D.表中年龄的平均值以下哪个不是SQL的约束类型()A.PRIMARY KEYB.FOREIGN KEYC.UNIQUE D.MAX表orders关联users表(通过user_id),要查询用户ID为100的订单详情及用户名,正确的方式是()A.SELECT o.*,u.name FROMorders oJOIN users u ONo.user_id=u.id;B.SELECT o.*,u.name FROMorders o,usersuWHEREo.user_id=u.id ANDo.user_id=100;C.A和B都正确D.A和B都错误SQL中,用于删除表中数据的命令是()A.DROP B.DELETE C.TRUNCATE D.REMOVE第2页共9页要查询students表中前10条记录,正确的语句是()A.SELECT*FROM studentsLIMIT10;B.SELECT TOP10*FROMstudents;C.SELECT*FROMstudentsWHERE ROWNUM=10;D.SELECT*FROMstudents LIMIT0,10;以下关于索引的说法,错误的是()A.索引可以提高查询效率B.索引会降低插入/更新的效率C.主键默认会自动创建索引D.索引越多越好,可无限创建SQL中,用于修改表结构的关键字是()A.CREATE B.ALTER C.DROP D.RENAME表scores中有字段student_id、course_id、score,要查询每个学生的平均成绩,正确的语句是()A.SELECT student_id,AVGscore FROMscores GROUP BYstudent_id;B.SELECT student_id,AVGscore FROMscores ORDER BYstudent_id;C.SELECT student_id,AVGscore FROMscores HAVINGAVGscore60;D.以上都正确以下哪个是SQL中的事务控制语句()A.COMMIT B.SAVEPOINT C.ROLLBACK D.以上都是表products中有字段id、name、price,要查询价格大于100且名称包含手机的产品,正确的WHERE条件是()A.WHERE price100AND name LIKE%手机%B.WHERE price100OR name LIKE%手机%第3页共9页C.WHERE price100,nameLIKE%手机%D.WHERE price100;nameLIKE%手机%SQL中,LEFT JOIN表示()A.内连接B.左外连接C.右外连接D.全外连接以下哪个是SQL的单行函数()A.SUM B.AVG C.LENGTH D.COUNT要为students表的name字段添加唯一约束,正确的语句是()A.ALTER TABLEstudents ADDUNIQUEname;B.CREATE TABLEstudentsname VARCHAR50UNIQUE;C.A和B都正确D.A和B都错误SQL中,用于查看表结构的命令是()A.DESCRIBE B.SHOW TABLESC.EXPLAIN D.SELECT*FROMTABLE以下关于子查询的说法,正确的是()A.子查询只能出现在WHERE子句中B.子查询可以返回单列或多列结果C.相关子查询会先执行外部查询,再执行内部查询D.子查询不能嵌套表students中有字段id、name、birth_date,要查询1990年之后出生的学生,正确的条件是()A.WHERE birth_date1990-01-01B.WHERE birth_date=1990-01-01C.WHERE YEARbirth_date1990D.A和C都正确SQL中,IN关键字的作用是()A.用于范围查询B.用于多值匹配第4页共9页C.用于模糊查询D.用于逻辑与要删除students表中的age字段,正确的语句是()A.ALTER TABLEstudents DROP COLUMN age;B.DROPCOLUMNage FROMstudents;C.DELETE COLUMNage FROMstudents;D.REMOVE COLUMNage FROMstudents;以下关于视图的说法,正确的是()A.视图是物理表B.视图可以提高查询效率C.视图中的数据会与基表同步D.视图只能查询数据,不能修改SQL中,TRUNCATE TABLE和DELETE FROM的区别是()A.TRUNCATE速度更快,会重置自增主键B.DELETE需要事务支持,TRUNCATE不需要C.A和B都正确D.A和B都错误
二、多项选择题(共20题,每题2分)本部分共20题,每题有多个正确答案,将正确选项的字母填入括号内,多选、少选均不得分以下属于SQL数据查询语句的有()A.SELECT B.INSERT C.DELETE D.SELECT...JOINSQL中,常见的聚合函数有()A.SUM B.COUNT C.MAX D.LENGTH以下关于主键(PRIMARY KEY)的说法,正确的有()A.主键值唯一B.主键可以由多个字段组合C.主键默认创建索引D.表中可以有多个主键表orders关联products表(通过product_id),可能的JOIN类型有()第5页共9页A.INNER JOINB.LEFT JOINC.RIGHT JOIND.FULL JOINSQL中,用于修改表数据的命令有()A.INSERT B.UPDATE C.DELETE D.TRUNCATE以下属于SQL约束的有()A.PRIMARY KEYB.FOREIGN KEYC.DEFAULT D.UNIQUESQL中,ORDERBY子句可以按哪些方式排序()A.升序(ASC)B.降序(DESC)C.多字段排序D.只能按一个字段排序关于WHERE和HAVING的区别,以下说法正确的有()A.WHERE用于过滤行,HAVING用于过滤组B.WHERE可以使用聚合函数,HAVING不能C.WHERE在GROUP BY之前执行,HAVING在之后执行D.WHERE和HAVING都可以过滤所有记录以下关于索引的说法,正确的有()A.索引可以提高查询速度B.索引会增加插入/更新的开销C.主键索引是唯一索引D.索引可以建在多个字段上SQL中,用于创建数据库的命令有()A.CREATE DATABASEB.CREATE SCHEMAC.USE D.ALTERDATABASE以下关于外键(FOREIGN KEY)的说法,正确的有()A.外键关联其他表的主键B.外键值必须在关联表中存在C.外键可以为NULL(如果允许)D.一个表只能有一个外键第6页共9页要查询students表中name字段包含张字的记录,正确的条件可以是()A.WHERE nameLIKE张%B.WHERE nameLIKE%张%C.WHERE nameLIKE张_D.WHERE nameLIKE%张SQL中,事务的ACID特性包括()A.原子性(Atomicity)B.一致性(Consistency)C.隔离性(Isolation)D.持久性(Durability)以下属于SQL单行函数的有()A.LOWER B.UPPER C.SUBSTRING D.SUM关于SELECT DISTINCT的作用,以下说法正确的有()A.去除重复行B.必须与GROUP BY一起使用C.可以用于多字段去重D.只对查询结果中的所有字段去重SQL中,用于删除数据库的命令有()A.DROP DATABASEB.DELETE DATABASEC.DROP SCHEMAD.ALTER DATABASE...DROP以下关于视图(VIEW)的说法,正确的有()A.视图是虚拟表B.视图基于基表创建C.视图可以简化复杂查询D.对视图的修改会影响基表SQL中,用于修改数据库的命令有()A.ALTER DATABASEB.RENAME DATABASEC.DROP DATABASED.CREATE DATABASE以下属于SQL数据类型的有()A.INT B.VARCHAR50C.DATE D.BOOLEAN关于LEFT JOIN和RIGHT JOIN的区别,以下说法正确的有()A.LEFT JOIN返回左表所有行,右表匹配行第7页共9页B.RIGHT JOIN返回右表所有行,左表匹配行C.无匹配行时,LEFT JOIN右表字段为NULLD.无匹配行时,RIGHT JOIN左表字段为NULL
三、判断题(共20题,每题1分)本部分共20题,判断下列说法的对错,正确的填√,错误的填×SQL是一种用于管理关系型数据库的编程语言()SELECT*FROM tableWHERE1=1可以查询表中所有记录()SQL中,UPDATE语句可以不指定WHERE条件,更新所有记录()GROUPBY子句中可以使用聚合函数作为条件()TRUNCATE TABLE和DELETE FROM都可以删除表中所有数据,且都需要事务支持()主键(PRIMARY KEY)字段的值可以为NULL()INNER JOIN返回两表中所有匹配的行()SQL中,AVG函数会忽略NULL值()LIKE%张%可以匹配以张字开头的字符串()索引会降低数据库的性能,应该尽量少建索引()外键(FOREIGN KEY)可以关联自身表的主键(自引用)()SELECT name,AVGscore FROMscores GROUPBY name会返回每个学生的姓名和平均成绩()SQL中,DESCRIBE命令用于查看表的结构信息()LIMIT子句可以用于限制查询结果的返回行数()事务中,如果执行了ROLLBACK,则所有未提交的数据会被回滚()UNIQUE约束允许字段有多个NULL值()LEFT JOIN的结果集行数一定大于或等于内连接的结果集行数()第8页共9页SQL中,YEARbirth_date可以提取日期字段的年份()视图(VIEW)中的数据是物理存储的,会占用实际存储空间()ALTER TABLE语句可以用于添加、修改或删除表的字段()
四、简答题(共2题,每题5分)简述SQL中内连接(INNER JOIN)和左外连接(LEFT JOIN)的主要区别什么是SQL事务?事务的ACID特性指什么?参考答案
一、单项选择题(每题1分,共30分)B
2.D
3.A
4.B
5.C
6.A
7.A
8.A
9.A
10.BA
12.D
13.C
14.B
15.A
16.D
17.B
18.A
19.D
20.AB
22.C
23.C
24.A
25.B
26.D
27.B
28.A第9页共9页。
个人认证
优秀文档
获得点赞 0