单选题
(30)~(35)题使用如下数据表:
学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D)
选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)
单选题 查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是
【正确答案】 A
【答案解析】[解析] 本题考察考生对逻辑表达式的掌握,题目要求查询所有1982年3月20日以后(含)出生,并且性别为“男”的记录,题目所给出的选项意义如下:选项A查询所有1982年3月20日以后(含)出生并且性别为“男”的记录,为正确答案。 选项B查询所有1982年3月20日以前(含)出生并且性别为“男”的记录,错误。 选项C查询所有1982年3月20日以后(含)出生或者性别为“男”的记录,错误。 选项D查询所有1982年3月20日以前(含)出生或者性别为“男”的记录,错误。 选项A为正确答案。
单选题 计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是
【正确答案】 D
【答案解析】[解析] 此题中各个选项解释如下: 选项A错误,此查询只选择了“选课”表,但在“选课”表中并没有“姓名”字段。 选项B与选项C错误,此查询进行了两个表的联合查询,但没有根据关键字将两个表联接起来。 选项D正确。
单选题 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为"101"课程的平均成绩,正确的SQL语句是
【正确答案】 B
【答案解析】[解析] 本题中所给出的四个选项中,选项A与选项C的错误很明显,因为分组短语GROUP BY后面所跟的“专业”字段,在查询的结果中并不存在,所以这两个选项不予考虑。而选项D则有一定的迷惑性,但题目仔细观察可以看出,其Select短语后面所跟随的“专业”字段列表在“选课”表中不存在,所以为错误选项。故选项 B为正确答案。
单选题 查询选修课程号为"101"课程得分最高的同学,正确的SQL语句是
【正确答案】 D
【答案解析】[解析] 本题所给出的四个选项中: 选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选项错误。选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。 选项C中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将杳询出错误结果,此选项错误。 选项D符合题意,将查询出正确结果,故为正确答案。
单选题 插入一条记录到“选课”表中,学号、课程号和成绩分别是“02080111”、“103”和 80,正确的SQL语句是
【正确答案】 A
【答案解析】[解析] 使用SQL插入表记录的命令INSERTINTO向表中插入记录的格式如下: INSERT INTO表名[(字段名1[,字段名2,... ])DVALUES(表达式1[,表达式2,…]) 由此命令格式可以看出,选项A为正确答案。
单选题 将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是
【正确答案】 B
【答案解析】[解析] SQL中的UPDATE语句可以更新表从数据,格式如下: UPDATE<表名> SET<列名1>=<表达式1>[,列名2>=<表达式2…][WHERE<条件表达式1>IAND|OR<条件表达式2…] 由此命令格式可以看出,选项B为正确答案。选项A错误的使用了with短语,而选项C及选项D均使用了错误的FROM短语。