27.在Visual FoxPro中,若所建立索引的字段值不允许重复,并且一个表中只能创建一个,
这种索引应该是( )。
A) 主索引 B) 唯一索引 C) 候选索引 D) 普通索引
参考答案:A
【解析】Visual FoxPro中的索引分为主索引、候选索引、唯一索引和普通索引四种。主索引
是在指定字段或表达式中不允许出现重复值的索引,主索引可以看作表中的主关键字,一个
表中只能有一个主索引;候选索引和主索引具有相同的特性,但候选索引可以有多个;唯一
索引是索引项的唯一,而不是字段值的唯一;普通索引既允许字段中出现重复值,也允许索
引项中出现重复值。
28.在SQL SELECT语句中为了将查询结果存储到临时表应该使用短语( )。
A) TO CURSOR B) INTO CURSOR C) INTO DBF D) TO DBF
参考答案:B【解析】在SQL查询语句的尾部添加INTO CURSOR <临时表名>可以将查询的结果
放入指定的临时表中。此操作通常是将一个复杂的查询分解,临时表通常不是最终结果,可
以接下来对临时表操作得到最终结果。生成的临时表是当前被打开的并且是只读的,关闭该
文件时将自动删除。所以B)为正确选项。
29.设有学生选课表SC(学号,课程号,成绩),用SQL命令检索同时选修了课程号为"C1"和"C5"
课程的学生的学号的正确命令是( )。
A) SELECT 学号 FROM SC WHERE 课程号= 'C1' AND 课程号= 'C5'
B) SELECT 学号 FROM SC WHERE 课程号='C1' AND 课程号=(SELECT课程号 FROM SC WHERE
课程号= 'C5')
C) SELECT 学号 FROM SC WHERE 课程号='C1' AND 学号=(SELECT 学号 FROM SC WHERE
课程号= 'C5')
D) SELECT 学号 FROM SC WHERE 课程号='C1' AND 学号 IN (SELECT 学号 FROM SC WHERE
课程号= 'C5')
参考答案:D【解析】这个查询不能用简单的查询实现,所以要用到嵌套查询,在嵌套查询中
内外层的嵌套用IN而不用"=",D)选项正确。
30.设有学生表S(学号,姓名,性别,年龄)、课程表C(课程号,课程名,学分)和学生选课表
SC(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令
是( )。
A) SELECT 学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号 = SC.学号AND SC.
学号= C.学号
B) SELECT 学号,姓名,课程名,成绩 FROM (S JOIN SC ON S.学号= SC.学号)JOIN C ON
SC.课程号 = C.课程号
C) SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号= SC.学号
ON SC.课程号 = C.课程号
D) SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON SC.课程号 = C.
课程号 ON S.学号= SC.学号
参考答案:D【解析】SQL是顺序执行命令语句,在多表联接查询时,各条件短语的执行顺序
会影响到最终的查询结果。检索学号、姓名和学生所选课程的课程名和成绩,应为SELECT S.
学号,姓名,课程名,成绩。A)、B)选项错误,而C)选项格式错误,选项D)正确。
31.以下有关SELECT短语的叙述中错误的是( )。
A) SELECT短语中可以使用别名
B) SELECT短语中只能包含表中的列及其构成的表达式
C) SELECT短语规定了结果集中列的顺序
D) 如果FROM短语引用的两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀加
以限定