单选题
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】本题使用如下数据表:
学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D)
选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)
单选题 查询所有1990年3月20日以后(含)出生的性别为男的学生,正确的SQL语句是 ______。
【正确答案】 A
【答案解析】[解析] 本小题考查考生对逻辑表达式的掌握,题目要求查询所有1990年3月20日以后(含)出生,并且性别为“男”的记录,题目所给出的选项意义如下:选项A查询所有1990年3月20日以后 (含)出生并且性别为“男”的记录,为正确答案,选项B查询所有1990年3月20日以前(含)出生并且性别为“男”的记录,错误。选项C查询所有1990年3月20日以后(含)出生或者性别为“男”的记录,错误。选项D查询所有1990年3月20日以前(含)出生或者性别为“男”的记录,错误。选项A为正确答案。
单选题 计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是 ______。
【正确答案】 D
【答案解析】[解析] 此小题中各个选项解释如下:选项A错误,此查询只选择了“选课”表,但在“选课”表中并没有“姓名”字段。选项B与选项C错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表连接起来。选项D正确。
单选题 查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。
【正确答案】 D
【答案解析】[解析] 选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选择错误。 选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。 选项C中的查陶并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将查询出错误的结果,此选项错误。
单选题 插入一条记录到“选课”表中,学号、课程号和成绩分别是“08080111”、“103”和80,正确的SQL语句是______。
【正确答案】 A
【答案解析】[解析] 使用SQL插入表记录的命令INSERT INTO 向表中插入记录的格式如下: INSERT INTO 表名[(字段名1[,字段号2,…])VALUES(表达式1[,表达式2,…]) 由此命令格式可以看出,选项A为正确答案
单选题 将学号为“08080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是 ______。
【正确答案】 B
【答案解析】[解析] SQL中的UPDATE语句可以更新表中数据,格式如下: UPDATE<表名>SET<列名1>=<表达式1>[,列名2>=<表达式2…][WHERE<条件表达式1>[AND|OR<条件表达式2>…] 由此命令格式可以看出,选项B为正确答案。选项A错误的使用了WITH短语,而选项C及选项D均使用了错误的FROM短语。