下题对自由表“评分.dbf”进行操作。“评分.dbf”的内容用命令LIST显示的结果如下:
记录号 歌手号 分数评委号
1 1001 9.80 101
2 1001 9.60 102
3 1001 9.70 103
4 1001 9.80 104
5 1001 9.90 105
6 1002 9.90 10l
7 1002 9.95 102
8 1002 9.70 103
9 1002 9.88 104
10 1002 9.80 105
11 1002 9.82 106
执行下列程序段的结果是 (11) 。
USE评分
i=10
a=0
LOCATE FOR歌手号="1001"
DO WHILE.NOT.EOF()
IF分数<i
i=分数
ENDIF
IF分数>a
a=分数
ENDIF
CONTINUE
ENDDO
a
执行下列SQL语句以后,scoregroup.dbf表中的记录个数是 (12) ,记录号为1的记录的最低分的内容是 (13) 。
SELECT评委号,min(分数)as最低分;
FROM评分;
GROUP BY评委号;
INTO TABLE scoregroup.dbf ORDER BY评委号,最低分DESC
向自由表“评分.dbf”中增加一条记录的SQL语句是:
INSERT INTO评分 (14) ("1001",9.45,"106")
将自由表“评分.dbf”的“评委号”字段的长度改为4的SQL语句是:
ALTER TABLE评分 (15) 评委号C(4)
文中(13)处应为()。
参考答案:9.80
解析:
通过该查询语句中的…GROUP BY评委号”可知是按评委号分的组,再通过“SELECT评委号,min(分数)as最低分”可知要求查询每个评委给歌手打出的最低分。评分表中共有6个评委,每个评委有一个最低分,共有6个最低分,查询后会生成6条记录;通过“INTO TABLE seoregroup.dbt ORDER BY评委号,最低分DESC”可知将查询结果放到新表scoregroup.dbf中,并先按评委号升序排列,评委号相同再按最低分降序排列。那么最后查询的结果是:
评委号最低分
101 9.80
102 9.60
103 9.70
104 9.80
105 9.80
106 9.82
所以新表中会有6条记录,第一条记录的最低分是9.80。