SQL基础与应用考试题
考试时间:90分钟满分:100分
一、选择题(每题3分,共30分)
下列哪种SQL语句用于从表中检索数据?()
A.INSERTB.SELECTC.UPDATED.DELETE
在SQL中,用于创建数据库表的语句是()
A.CREATEDATABASEB.ALTERTABLEC.CREATETABLED.DROPTABLE
若要确保表中某列的值不重复,应给该列添加哪种约束?()
A.主键约束(PRIMARYKEY)B.外键约束(FOREIGNKEY)
C.唯一约束(UNIQUE)D.非空约束(NOTNULL)
下列哪个聚合函数用于计算某列的平均值?()
A.SUM()B.COUNT()C.AVG()D.MAX()
要查询“学生表”中“年龄”大于20的学生信息,WHERE子句应为()
A.WHERE年龄20B.WHERE年龄20C.WHERE年龄=20D.WHERE年龄=20
SQL中,用于将两个或多个表的数据合并查询的关键字是()
A.JOINB.UNIONC.INSERTD.GROUPBY
下列哪种连接方式会返回两个表中所有匹配的记录,不匹配的记录不返回?()
A.INNERJOINB.LEFTJOINC.RIGHTJOIND.FULLJOIN
要删除“学生表”中“学号”为“2023001”的记录,正确的语句是()
A.DELETEFROM学生表WHERE学号=2023001
B.DROPFROM学生表WHERE学号=2023001
C.DELETE学生表WHERE学号=2023001
D.REMOVEFROM学生表WHERE学号=2023001
在SQL中,用于对查询结果进行分组的关键字是()
A.ORDERBYB.GROUPBYC.HAVINGD.LIMIT
下列关于事务的描述,错误的是()
A.事务具有原子性(Atomicity)B.事务具有一致性(Consistency)
C.事务一旦提交就无法回滚D.事务可以提高数据安全性
二、填空题(每空2分,共20分)
SQL的全称是____________________。
在CREATETABLE语句中,用于指定列的数据类型的关键字是____________________(例:INT、VARCHAR等属于数据类型,此处填指定数据类型的相关表述)。
若要查询“成绩表”中“分数”最高的前5条记录,可在查询语句末尾添加____________________子句。
外键约束用于确保表与表之间的____________________完整性。
事务的ACID属性分别指原子性、一致性、____________________和持久性。
要修改“学生表”中“性别”列的默认值为“男”,应使用____________________语句(填语句关键字)。
COUNT(*)函数用于统计查询结果的____________________,COUNT(列名)用于统计该列非空值的数量。
在多表查询中,若两个表有相同的列名,需使用____________________(格式:表名。列名)来区分。
子查询是嵌套在另一个SQL语句中的____________________语句。
要将“课程表”中“课程名称”为“数学”的“学分”修改为4,SET子句应为____________________。
三、简答题(每题5分,共20分)
简述主键约束(PRIMARYKEY)和唯一约束(UNIQUE)的区别。
什么是索引?索引的作用是什么?使用索引有哪些优缺点?
简述SQL中DQL、DML、DDL的含义及包含的常用语句。
什么是事务隔离级别?常见的事务隔离级别有哪些?
四、操作题(每题10分,共30分)
现有三张数据库表,结构如下:
学生表(student):学号(s_id,主键,VARCHAR(10))、姓名(s_name,VARCHAR(20))、年龄(s_age,INT)、性别(s_gender,VARCHAR(2))、班级(s_class,VARCHAR(20))
课程表(course):课程号(c_id,主键,VARCHAR(10))、课程名称(c_name,VARCHAR(30))、学分