单选题
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
本大题的程序一、二使用的“学生”表和“选修课”表如下:
“学生”表:
学号 姓名 政治面貌 年龄 学分 科目号
20001 王 海 团员 25 4 01
20002 李 盐 预备党员 20 3 02
20003 刘小鹏 团员 22 4 01
20004 隋小新 团员 20 6 03
20005 李明月 预备党员 24 4 01
20006 孙民主 预备党员 21 3 02
20007 赵福来 预备党员 22 6 03
“选修课”表:
科目号 科目名
01 日语
02 法律
03 微积分
【程序说明一】 使用SQL语句查询每个学生及其选修课程的情况:
【程序一】
SELECT 学生.*,选修课.*;
FROM 学生,选修课;
WHERE {{U}}(1) {{/U}}= {{U}}(2) {{/U}}
【程序说明二】 使用SQL语句求选修了法律课程的所有学生的学分总和:
【程序二】
SELECT {{U}}(3) {{/U}}(学生分);
FROM 学生;
WHERE 科目号 IN;
(SELECT 科目号;
FROM {{U}}(4) {{/U}};
WHERE 科目号=“法律”)
【程序说明三】 设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的
SELECT 语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。
【程序三】
SELECT 学号,姓名,性别FROM s
WHERE {{U}}(5) {{/U}} (SELECT * FROM sc WHERE sc. 学号=s. 学号 AND 成绩<85)
【正确答案】 B
【答案解析】
【正确答案】 D
【答案解析】[解析] 若一个查询同时涉及两个以上的表,则称之为连接查询。其一般格式为: [<表名1>]<列名1><比较运算符>[<表名2>]<列名2> 学生表和选修课表的连接是通过公共字段“科目号”来建立的。
【正确答案】 C
【答案解析】[解析] AVG:求平均值,MAX:取最大值,SUM:求和,MIN:取最小值。
【正确答案】 A
【答案解析】[解析] 一个SELECT—FROM—WHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE 子句或HAVING 短语的条件中的查询称为嵌套查询。SUM()实现了对“学业分”求和。 嵌套查询中,选择条件科目号=“法律”的字段在“选修课”表中,所以嵌套查询来自“选修课”表。
【正确答案】 D
【答案解析】[解析] 在SQL中,括号内SELECT* FROM sc WHERE sc. 学号=s. 学号 AND 成绩 < 85 表示是每门课成绩都小于85分的学生,要检索成绩高于或等于85分,NOT EXISTS是取反即检查不小于85分的学生信息。