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

单选题 查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是______。
A. SELECT * FROM 学生 WHERE 出生日期>={^1982-03-20} AND 性别="男"
B. SELECT * FROM 学生 WHERE 出生日期<={^1982-03-20} AND 性别="男"
C. SELECT * FROM 学生 WHERE 出生日期>={^1982-03-20} OR 性别="男"
D. SELECT * FROM 学生 WHERE 出生日期<={^1982-03-20} OR 性别="男/
【正确答案】 A
【答案解析】[解析] 查询所有1982年3月20日后(含)出生的学生,WHERE条件应是出生日期>={^1982-03-20},并且性别为男,所以中间应用AND短语连接。
单选题 计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是______。
A. SELECT AVG(成绩) FROM 选课 WHERE 姓名="刘明"
B. SELECT AVG(成绩) FROM 学生,选课 WHERE 姓名="刘明"
C. SELECT AVG(成绩) FROM 学生,选课 WHERE 学生.姓名="刘明"
D. SELECT ATG(成绩) FRON 学生,选课 WHERE 学生.学号=选课.学号 AND 姓名="刘明/
【正确答案】 D
【答案解析】[解析] 计算刘明同学选修的所有课程的平均成绩,涉及学生表和选课表,并且通过相同的字段“学号”将两表连接起来,所以选D。
单选题 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为"101"课程的平均成绩,正确的SQL语句是______。
A. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程号="101" GROUP BY 专业
B. SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FRON 选课 WHERE 课程号="101" GROUP BY 1
C. SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FRON 选课 WHERE 课程号="101" ORDER BY 专业
D. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FRON 选课 WHERE 课程号="101" ORDER BY 1
【正确答案】 B
【答案解析】[解析] SUBS(学号,3,2) AS 专业表示截取学号的第3和第4位来代表专业代码,计算平均分用AVG()短语,计算各专业学生选修课程号为"101"课程的平均成绩,应以专业为分组依据,分组用GROUP BY短语。
单选题 查询选修课程号为"101"课程得分最高的同学,正确的SQL语句是______。
A. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号
AND 课程号="101" AND 成绩>=ALL(SELECT 成绩 FROM 选课)
B. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号
AND 成绩>=ALL(SELECT 成绩 FRON 选课 WHERE 课程号="101")
C. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号
AND 成绩>=ANY(SELECT 成绩 FRON 选课 WHERE 课程号="101")
D. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND
课程号="101" AND 成绩>=(SELECT 成绩 FROM 选课 WHERE 课程号="101")
【正确答案】 B
【答案解析】[解析] 这是一个使用量词和谓语的查询,ALL表示所有子查询中的所有行都使结果为真时,结果才为真:而ANY表示子查询中有一行能使结果为真,则结果就为真,要求查询选修课程号为"101"课程得分最高的同学,所以应该选B。
单选题 插入一条记录到“选课”表中,学号、课程号和成绩分别是"02080111"、"103"和80,正确的SQL语句是______。
A. INSERT INTO 选课 VALUES("02080111","103",80)
B. INSERT VALUES("02080111","103",80) TO 选课(学号,课程号,成绩)
C. INSERT VALUES("02080111","1013",80) INTO 选课(学号,课程号,成绩)
D. INSERT INTO 选课(学号,课程号,成绩) FROM VALUES("02080111","103",80)
【正确答案】 A
【答案解析】[解析] 插入记录的命令是INSERT INTO…VALUES…。
单选题 将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是______。
A. UPDATE 选课 SET 成绩 WITH 92 WHERE 学号="02080110" AND 课程号="102"
B. UPDATE 选课 SET 成绩=92 WHERE 学号="02080110" AND 课程号="102"
C. UPDATE FROM 选课 SET 成绩 WITH 92 WHERE 学号="02080110" AND 课程号="102"
D. UPDATE FROM 选课 SET 成绩=92 WHERE 学号="02080110" AND 课程号="102/
【正确答案】 B
【答案解析】[解析] 数据更新的命令是UPDATE…SET…WHERE…。