单选题
(31)~(35)题使用如下数据表:
学生.DBF:学号(C,8),姓名(C,6),性别(C,2)
选课.DBF:学号(C,8),课程号(C,3),成绩(N,3)
单选题 从“选课”表中检索成绩大于等于60并且小于90的记录信息,正确的SQL命令是( )。
【正确答案】 A
【答案解析】[解析] 根据题意,该查询的查询条件是“成绩大于等于60并且小于90”,因为“成绩”字段是整数型,查询条件也就相当于“成绩大于等于60并且小于等于89”,所以可以使用表达式“成绩BETWEEN60AND 89”。SQL查询语句中特殊运算BETWEEN…AND…的含义为“…和…之间”,相当与逻辑与运算中的(A>=AND>=B,其中A>B)。
单选题 检索还未确定成绩的学生选课信息,正确的SQL命令是( )。
【正确答案】 B
【答案解析】[解析] 根据题意,该查询用到了“学生”表和“选课”表,题中给出的四个选项中都使用了内联接查询。VFP的SOL SELECT中内联接查询的语法是: SELECT…FROM表1 [INNER]JOIN表2 ON联接条件WHERE…… 由于联接条件应使用ON短语给出,故选项A)和选项B)错误。 SOL SELECT中,空值查询应使用“IS NULL”,而不是“=NULL”,故选项D)错误。
单选题 假设所有的选课成绩都已确定。显示“101”号课程成绩中最高的10%记录信息,正确的SQL命令是( )。
【正确答案】 D
【答案解析】[解析] SQL查询语句中,通过TOP短语可以指定只显示前几项记录,基本格式为: TOP nExpr [PERCENT] 其中,nExpr是数字表达式,当不使用[PERCENT]时,nExpr可以是1~32767之间的整数;当使用[PERCENT]时,nExpr是0.01~99.99间的实数,说明显示结果中前百分之几的记录。该短语要与ORDER BY一起使用才有效。 由于本题要查找的是“成绩中最高的10%记录的信息”,故应按照“成绩”字段降序排序,并使用“TOP 10PERCENT”。
单选题 假设所有学生都已选课,所有的选课成绩都已确定。检索所有选课成绩都在90分以上(含)的学生信息,正确的SQL命令是( )。
【正确答案】 B
【答案解析】[解析] 本题可使用嵌套查询,选项B)中,先在内查询中将只要有一门课程成绩小于90分的学生的学号查找出来,形成一个集合,然后在外查询中,从“学生”表中找到该集合以外的学号,即是所有选课成绩都大于等于90分的学生。由于内查询中查出的结果是集合,该集合作为外查询中限定学号的条件,故应该用NOTIN运算符。
单选题 为“选课”表增加一个“等级”字段,其类型为C、宽度为2,正确的SQL命令是( )。
【正确答案】 C
【答案解析】[解析] 在SQL语句中为表增加字段的格式为:ALTER TABLE<表名>ADD<字段名>(<长度>[,<小数位数>])。