单选题 使用如下数据表:
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D) )
选课(学号(C,8),课程号(C,3),成绩(N,5,1))

单选题 查询所有1988年9月10日(含)以后出生、性别为女的学生,正确的SQL语句是
A. SELECT * FROM 学生 WHERE 出生日期>={^1988-09-10} AND 性别="女"
B. SELECT * FROM 学生 WHERE 出生日期<={^1988-09-10} AND 性别="女"
C. SELECT * FROM 学生 WHERE 出生日期>={^1988-09-10} OR 性别="女"
D. SELECT * FROM 学生 WHERE 出生日期<={^1988-09-10} OR 性别="女/
【正确答案】 A
【答案解析】[解析] 题目中要求查询1988年9月10日(含)以后出生、性别为女的学生,要求两个条件同时成立,所以要用AND连接,而1988年9月10日以后出生,则出生日期>={^1988-09-10}。
单选题 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“007”课程的平均成绩,正确的SQL语句是
A. SELECT 专业 AS SUBS (学号,3,2),平均分AS AVG (成绩) FROM 选课
WHERE 课程号="007" GROUP BY 专业
B. SELECT SUBS (学号,3,2) AS 专业,AVG (成绩) AS 平均分 FROM 选课
WHERE 课程号="007" GROUP BY 1
C. SELECT SUBS (学号,3,2) AS 专业,AVG (成绩) AS 平均分 FROM 选课
WHERE 课程号="007" ORDER BY 专业
D. SELECT 专业 AS SUBS (学号,3,2),平均分 AS AVG (成绩) FROM 选课
WHERE 课程号="007" ORDER BY 1
【正确答案】 B
【答案解析】[解析] 根据题目要求,要把不同专业的学生进行分组并求平均成绩,所以要用到短语GROUP BY,在SELECT语句中,目标字段放在AS之后,“1”表示第一个字段。
单选题 查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是
A. SEIECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生,学号=选课.学号;
AND 课程号="007" AND 成绩>=ALL(SELECT 成绩 FROM 选课)
B. SELECT 学生,学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号;
AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号="007")
C. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生,学号=选课.学号;
AND 成绩>=ANY(SELECT 成绩 FROM 选课 WHERE 课程号="007")
D. SELECT学生.学号,姓名FROM学生,选课WHERE学生,学号=选课.学号;
AND 课程号="007" AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号="007")
【正确答案】 D
【答案解析】[解析] 在所有选项中通过嵌套查询来实现题目的要求,ALL要求在子查询中的所有行都使结果为真时,结果才为真;ANY只要子查询中有一行能使结果为真,则结果就为真。最高分应该为成绩>=ALL(…),要查询选课号为"007"的同学,所以内外查询中都要用到条件“课程号="007"”。
单选题 插入一条记录到“选课”表中,学号、课程号和成绩分别是“09080001”、“001”和80,正确的SQL语句是
A. INSERT INTO 选课(学号,课程号,成绩)FROM VALUES("09080001","001",80)
B. INSERT INTO 选课 VALUES("09080001", "001", 80)
C. INSERT VALUES("09080001","001",80) TO 选课(学号,课程号,成绩)
D. INSERT VALUES("09080001","001",80) INTO 选课(学号,课程号,成绩)
【正确答案】 B
【答案解析】[解析] 插入语句的格式一为:INSERT INTO 数据表名[(字段1[,字段2,…])] VALUES (表达式1[,表达2,…])。
插入语句的格式二为:INSERT INTO 数据表名 FROM ARAY 数组名。第二种格式说明从指定的数组中插入值。
单选题 将学号为“09080001”、课程号为“002”的选课记录的成绩改为92,正确的SQL语句是
A. UPDATE FROM 选课 SET 成绩 WITH 92 FOR 学号="09080001" AND 课程号="002"
B. UPDATE FROM 选课 SET 成绩=92 FOR 学号="09080001" AND 课程号="002"
C. UPDATE 选课 SET 成绩 WITH 92 WHERE 学号="09080001" AND 课程号 "002"
D. UPDATE 选课 SET 成绩=92 WHERE 学号="09080001" AND 课程号="002/
【正确答案】 D
【答案解析】[解析] 更新数据格式为:UPDATE 数据表名 SET 列名1=表达式1[,列名2=表达式2…] WHERE 筛选条件。