单选题 18~25题使用的数据如表1和表2所示。
表1 学生表(STUDENT.DBF)
学号
姓名
性别
籍贯
年龄
980001
王吉兵
江苏
22
980002
张晓春
安徽
21
980003
左燕
江苏
25
980004
赵华
安徽
22
980005
李宁
山东
20
表2 选课表(SKB.DBF)
学号
课号
成绩
980001
0001
98
980002
0002
76
980001
0002
80
980002
0003
69
980003
0001
75
980003
0003
68
980004
0001
89
980005
0001
76
980004
0002
65
980003
0002
90


单选题 给选课表(SKB.DBF)增加一个元组,元组值为“980005”、“0002”、93,则使用的语句正确的是______。
【正确答案】 B
【答案解析】[分析] Visual FoxPro支持两种SQL插入命令的格式:第一种格式是标准格式,第二种格式是Visual FoxPro的特殊格式。这里考核的是标准格式,格式如下:
INSERT INTO<表名>[(字段名1,字段名2,…)]VALUES(值1[,值2…])当需要插入一个包括所有字段的完整记录时,可以省略字段名。
单选题 要选出平均成绩超过80分的学生的学号和平均成绩,下列正确的语句是______。
【正确答案】 C
【答案解析】[分析] 根据题意可知应根据学号进行分组(使用GROUP BY子句),并对成绩进行求平均值(AVG()函数),最后应选出满足条件的分组(使用HAVING子句)。
单选题 要求出学生中平均成绩最高的人的学号、姓名和平均分,下列语句中正确的是______。
【正确答案】 C
【答案解析】[分析] 此题涉及两个表,两个表之间应根据学号相等进行连接,采用内部连接(INNER JOIN),表示连接的条件为“ON条件”。为求出平均成绩最高的人的学号、姓名和平均成绩,可根据学号进行分组,对成绩求平均,再根据平均成绩降序排列,选中结果中的第一条记录。
单选题 下列语句执行后,结果中将包含______条记录。
SELECT课号,MAX(成绩)AS最高成绩FROM SKB;
GROUP BY课号
【正确答案】 A
【答案解析】[分析] 本题的含义是从选课表中按课号进行分组,求出每门课的课号和最高成绩。显然每一门课为一条记录,只有3门课,故只有3条记录。
单选题 要给所有的选修课号为“0001”的女生的该课成绩增加5分,使用的语句为______。
【正确答案】 C
【答案解析】[分析] UPDATE命令用来更新表中的字段值,其格式如下:
UPDATE 表名 SET 列名 1=值1 [,列名 2=值 2,…] WHERE 条件
在条件部分,本题使用了子查询。本题用一个子查询查出了所有性别为“女”的学生的学号,然后通过IN运算符找出学号在女生集中且课号为“0001”的记录,把相应记录的成绩增加5分。
单选题 要给学生表(STUDENT.DBF)的年龄字段设置一个字段级有效性规则,其规则为“年龄>=15 AND年龄<=100”,如果在输入时违反了该规则,将给出提示信息“年龄必须在15~100之间。”正确的语句是______。
【正确答案】 C
【答案解析】[分析] 可使用ALTER TABLE命令来修改表的结构。设定字段的有效性验证规则的命令格式如下:
ALTER TABLE 表名 ALTER[COLUMN]字段名SET CHECK<逻辑表达式>;
[ERROR<字符型表达式>]
单选题 要给学生表(STUDENT.DBF)增加一个出生日期字段(日期型),下面选项中正确的是______。
【正确答案】 C
【答案解析】[分析] 给表增加一个字段的命令格式如下:
ALTER TABLE表名ADD [COLUMN] 字段名 字段类型(宽度[,小数位])…
单选题 创建一个名为RS的视图,用来显示所有学生的学号、姓名和平均成绩,则下面正确的语句是______。
【正确答案】 D
【答案解析】[分析] 创建视图使用的命令格式如下:
CREATE VIEW视图名AS SELECT命令
其中,SELECT命令为任意可以执行的SELECT命令。由于输出字段涉及两个表,故应在WHERE子句中按照学号相等进行连接,由于要求每个学生的平均成绩,故应该按照学号字段值进行分组求平均。