1、国家二级 VF 机试(选择题)-试卷 48 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列链表中,其逻辑结构属于非线性结构的是(分数:2.00)A.二叉链表B.循环链表C.双向链表D.带链的栈2.设循环队列的存储空间为 Q(1: 35),初始状态为 front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为(分数:2.00)A.15B.16C.20D.0 或 353.下列关于栈的叙述中,正确的是(分数:2.00)A.栈底元素一定是最后入栈的元素B.栈顶元素一定是最先入栈的元素C.
2、栈操作遵循先进后出的原则D.以上说法均错误4.在关系数据库中,用来表示实体间联系的是(分数:2.00)A.属性B.二维表C.网状结构D.树状结构5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是(分数:2.00)A.1:1 联系B.m:1 联系C.1:m 联系D.m:n 联系6. (分数:2.00)A.选择B.投影C.自然连接D.并7.数据字典(DD)所定义的对象都包含于(分数:2.00)A.数据流图(DFD 图)B.程序流程图C.软件结构图D.方框图8.软件需求规格说明书的作用不包括(分数:2.00)A.软件验收的依据B.用户与开发人
3、员对软件要做什么的共同理解C.软件设计的依据D.软件可行性研究的依据9.下面属于黑盒测试方法的是(分数:2.00)A.语句覆盖B.逻辑覆盖C.边界值分析D.路径覆盖10.下面不属于软件设计阶段任务的是(分数:2.00)A.软件总体设计B.算法设计C.制定软件确认测试计划D.数据库设计11.在“项目管理器“下为项目建立一个新报表,应该使用的选项卡是( )。(分数:2.00)A.数据B.文档C.类D.代码12.扩展名为 pjx 的文件是( )。(分数:2.00)A.数据库表文件B.表单文件C.数据库文件D.项目文件13.不允许出现重复字段值的索引是( )。(分数:2.00)A.候选索引和主索引B.
4、普通索引和唯一索引C.唯一索引和主索引D.唯一索引14.下列程序段的执行结果是( )。DIME a(8)a(1)1a(2)1for i3 to 8a(i)a(i1)a(i2)next?a(7)(分数:2.00)A.5B.8C.13D.2115.在表设计器中设置的索引包含在( )。(分数:2.00)A.单独索引文件中B.唯一索引文件中C.结构复合索引文件中D.非结构复合索引文件中16.假设表“学生.dbf“已在某个工作区打开,且取别名为 student。选择“学生“表所在工作区为当前工作区的命令是( )。(分数:2.00)A.SELECT 0B.USE 学生C.SELECT 学生D.SELECT
5、 student17.在表单设计器环境中,为表单添加一选项按钮组: 男 女。默认情况下,第一个选项按钮“男“为选中状态,此时该选项按钮组的 Value 属性值为( )。(分数:2.00)A.0B.1C.男DT.18.在 Visual Foxpro 中,属于命令按钮属性的是( )。(分数:2.00)A.ParentB.ThisC.ThisFormD.Click19.表单文件的扩展名是( )。(分数:2.00)A.frmB.prgC.scxD.vcx20.以下关于“查询“的正确描述是( )。(分数:2.00)A.查询文件的扩展名为 prgB.查询保存在数据库文件中C.查询保存在表文件中D.查询保存
6、在查询文件中21.下列程序段执行以后,内存变量 y 的值是( )。x76543y0DO WHILE x0yx%10y*10xint(x/10)ENDDO(分数:2.00)A.3456B.34567C.7654D.7654322.下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是( )。SET TALK OFFINPUT “x“ TO xs0DO WHILE x!0ssMOD(x,10)_ ENDDO? sSET TALK ON(分数:2.00)A.xint(x/10)B.xint(x%10)C.xxint(x/10)D.xxint(x%10)23.在 Visual FoxPro 中,
7、如果希望内存变量只能在本模块(过程) 中使用,不能在上层或下层模块中使用。说明该种内存变量的命令是( )。(分数:2.00)A.PRIVATEB.LOCALC.PUBLICD.不用说明,在程序中直接使用24.在 Visual FoxPro 中,在屏幕上预览报表的命令是( )。(分数:2.00)A.PREVIEW REPORTB.REPORT FORM PREVIEWC.DO REPORT PREVIEWD.RUN REPORT PREVIEW25.设 x“123“,y123,k“y“,表达式 x&k 的值是( )。(分数:2.00)A.123123B.246C.123yD.数据类型不匹配26.
8、运算结果不是 2010 的表达式是( )。(分数:2.00)A.int(2010.9)B.round(2010.1,0)C.ceiling(2010.1)D.floor(2010.9)27.下面程序的运行结果是( )。SET TALK OFFSTORE 0 TO s,iDO WHILE iA.20B.30C.50D.16028.SQL 语言的更新命令的关键词是( )。(分数:2.00)A.INSERTB.UPDATEC.CREATED.SELECT29.删除 student 表的“平均成绩“字段的正确 SQL 命令是( )。(分数:2.00)A.DELETE TABLE student DEL
9、ETE COLUMN 平均成绩B.ALTER TABLE student DELETE COLUMN 平均成绩C.ALTER TABLE student DROP COLUMN 平均成绩D.DELETE TABLE student DROP COLUMN 平均成绩30.从 student 表删除年龄大于 30 的记录的正确 SQL 命令是( )。(分数:2.00)A.DELETE FOR 年龄30B.DELETE FROM student WHERE 年龄30C.DELETE student FOR 年龄30D.DELETE student WHILE 年龄3031.假设同一名称的产品有不同的
10、型号和产地,则计算每种产品平均单价的 SQL 命令是( )。(分数:2.00)A.SELECT 产品名称, AVG(单价)FROM 产品 GROUP BY 单价B.SELECT 产品名称, AVG(单价)FROM 产品 ORDER BY 单价C.SELECT 产品名称, AVG(单价)FROM 产品 ORDER BY 产品名称D.SELECT 产品名称, AVG(单价)FROM 产品 GROUP BY 产品名称32.设有 S(学号,姓名,性别)和 SC(学号,课程号,成绩)两个表,如下 SQL 语句检索选修的每门课程的成绩都高于或等于 85 分的学生的学号、姓名和性别,正确的 SQL 命令是(
11、 )。(分数:2.00)A.SELECT 学号,姓名,性别 FROM s WHERE EXISTS ( SELECT * FROM sc WHERE SC.学号 S.学号 AND 成绩 B.SELECT 学号,姓名,性别 FROM s WHERE NOT EXISTS ( SELECT * FROM sc WHERE SC.学号 S.学号 AND 成绩 C.SELECT 学号,姓名,性别 FROM s WHERE EXISTS (SELECT * FROM sc WHERE SC.学号 S.学号 AND成绩 85 )D.SELECT 学号,姓名,性别 FROM s WHERE NOT EXIS
12、TS ( SELECT * FROM sc WHERE SC.学号 S.学号 AND 成绩 70 OR 成绩 C.SELECT 学号,课程号,成绩 FROM sc WHERE 成绩 70 OR D.SELECT 学号,课程号,成绩 FROM sc WHERE 成绩 70 AND 34.查询有选课记录,但没有考试成绩(成绩字段是空值)的学生的学号和课程号,正确的 SQL 语句是( )。(分数:2.00)A.SELECT 学号,课程号 FROM sc WHERE 成绩 “B.SELECT 学号,课程号 FROM sc WHERE 成绩 NULLC.SELECT 学号,课程号 FROM sc WHE
13、RE 成绩 IS NULLD.SELECT 学号,课程号 FROM sc WHERE 成绩35.“教师表“中有“职工号“、“姓名“、“工龄“和“系号“等字段,“学院表“中有“系名“和“系号“等字段,计算“计算机“系教师总数的命令是( )。(分数:2.00)A.SELECT COUNT(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 学院表.系号 WHERE 系名“计算机“B.SELECT COUNT(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 学院表.系号 ORDER BY 教师表.系号 HAVING 学院表.系名“计算机“C.SELECT
14、SUM(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 学院表.系号 GROUP BY 教师表.系号 HAVING 学院表.系名“计算机“D.SELECT SUM(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 学院表.系号 ORDER BY 教师表.系号 HAVING 学院表.系名“计算机“36.教师表中有“职工号“、“姓名“、“工龄“和“系号“等字段,“学院表“中有“系名“和“系号“等字段,求教师总数最多的系的教师人数,正确的命令序列是( )。(分数:2.00)A.SELECT 教师表.系号,COUNT(*)AS 人数 FROM 教师表,学院
15、表 GROUP BY 教师表.系号 INTO DBF TEMPELECT MAX(人数)FROM TEMPB.SELECT 教师表.系号,COUNT(*)FROM 教师表,学院表 WHERE 教师表.系号 学院表.系号 GROUP BY 教师表.系号 INTO DBF TEMPSELECT MAX(人数)FROM TEMPC.SELECT 教师表.系号,COUNT(*)AS 人数 FROM 教师表,学院表 WHERE 教师表.系号 学院表.系号GROUP BY 教师表.系号 TO FILE TEMPSELECT MAX(人数)FROM TEMPD.SELECT 教师表.系号,COUNT(*)A
16、S 人数 FROM 教师表,学院表 WHERE 教师表.系号 学院表.系号GROUP BY 教师表.系号 INTO DBF TEMPSELECT MAX(人数)FROM TEMP37.查询单位名称中含“北京“字样的所有读者的借书证号和姓名,正确的 SQL 语句是( )。(分数:2.00)A.SELECT 借书证号, 姓名 FROM 读者 WHERE 单位“北京%“B.SELECT 借书证号, 姓名 FROM 读者 WHERE 单位 “北京*“C.SELECT 借书证号, 姓名 FROM 读者 WHERE 单位 LIKE “北京*“D.SELECT 借书证号, 姓名 FROM 读者 WHERE
17、单位 LIKE “%北京%“38.假设表单上有一选项组:男 女,如果选择第二个按钮“女“,则该选项组 Value 属性的值为( )。(分数:2.00)AF.B.女C.2D.女 或 239.在 Visual FoxPro 中,下面关于属性、方法和事件的叙述错误的是( )。(分数:2.00)A.属性用于描述对象的状态,方法用于表示对象的行为B.基于同一个类产生的两个对象可以分别设置自己的属性值C.事件代码也可以像方法一样被显式调用D.在创建一个表单时,可以添加新的属性、方法和事件40.页框控件也称作选项卡控件,在一个页框中可以有多个页面,表示页面个数的属性是( )。(分数:2.00)A.Count
18、B.PageC.NumD.PageCount国家二级 VF 机试(选择题)-试卷 48 答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列链表中,其逻辑结构属于非线性结构的是(分数:2.00)A.二叉链表 B.循环链表C.双向链表D.带链的栈解析:解析:在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特
19、征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为 A 选项。2.设循环队列的存储空间为 Q(1: 35),初始状态为 front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为(分数:2.00)A.15B.16C.20D.0 或 35 解析:解析:在循环队列中,用队尾指针 rear 指向队列中的队尾元素,用排头指针 front 指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加,朝前移动。只不过
20、当头尾指针指向向量上界时,其加操作的结果是指向向量的下界。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为 D 选项。3.下列关于栈的叙述中,正确的是(分数:2.00)A.栈底元素一定是最后入栈的元素B.栈顶元素一定是最先入栈的元素C.栈操作遵循先进后出的原则 D.以上说法均错误解析:解析:栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或“后进先出“表,所以选择 C。4.在关系数据库中,用来表示实体间联系的是(分数:2.
21、00)A.属性B.二维表 C.网状结构D.树状结构解析:解析:关系模型实体间的联系采用二维表来表示,简称表。选项 C 为网状模型实体间的联系,选项D 为层次模型实体间的联系,选项 A 属性刻画了实体。5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是(分数:2.00)A.1:1 联系B.m:1 联系C.1:m 联系 D.m:n 联系解析:解析:两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系(1:1)、一对多联系(1:m)、多对一联系(m:1)、多对多联系(m:n)。对于每一个实体部门,都有多名职员,则其对应的联系为一对多
22、联系(1:m),答案选 C。6. (分数:2.00)A.选择 B.投影C.自然连接D.并解析:解析:由关系 R 到关系 S 为一元运算,排除 C 和 D。关系 S 是关系 R 的一部分,是通过选择之后的结果,因此选 A。7.数据字典(DD)所定义的对象都包含于(分数:2.00)A.数据流图(DFD 图) B.程序流程图C.软件结构图D.方框图解析:解析:在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选 A,而 B,C,D 都不符合。8.软件需求规格说明书的作用不包括(分数:2.00)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件设计的依
23、据D.软件可行性研究的依据 解析:解析:软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。软件需求规格说明书有以下几个方面的作用。便于用户、开发人员进行理解和交流,B 正确;反映出用户问题的结构,可以作为软件开发工作的基础和依据,C 正确;作为确认测试和验收的依据,A 正确。9.下面属于黑盒测试方法的是(分数:2.00)A.语句覆盖B.逻辑覆盖C.边界值分析 D.路径覆盖解析:解析:黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为 C。而 A、
24、B、D 均为白盒测试方法。10.下面不属于软件设计阶段任务的是(分数:2.00)A.软件总体设计B.算法设计C.制定软件确认测试计划 D.数据库设计解析:解析:从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以A、B、D 正确,C 为软件测试阶段的任务。11.在“项目管理器“下为项目建立一个新报表,应该使用的选项卡是( )。(分数:2.00)A.数据B.文档 C.类D.代码解析:解析:项目管理器中的“文档“选项卡包含了处理数据时所用的三类文件,输入和查看数据所用的表单、打印表和查询结果所用的报表及标签。所以在“项目管理器“下为项目建立一个新报表,应该使用“文档“选项卡
25、。12.扩展名为 pjx 的文件是( )。(分数:2.00)A.数据库表文件B.表单文件C.数据库文件D.项目文件 解析:解析:扩展名为 pjx 的文件是项目文件;数据库表文件的扩展名是 dbf;表单文件的扩展名是scx;数据库文件的扩展名是 dbc。13.不允许出现重复字段值的索引是( )。(分数:2.00)A.候选索引和主索引 B.普通索引和唯一索引C.唯一索引和主索引D.唯一索引解析:解析:Visual FoxPro 中的索引分为主索引、候选索引、唯一索引和普通索引四种。主索引是在指定字段或表达式中不允许出现重复值的索引,主索引可以看作表中的主关键字,一个表中只能有一个主索引;候选索引和
26、主索引具有相同的特性,但候选索引可以有多个;唯一索引是索引项的唯一,而不是字段值的唯一;普通索引既允许字段中出现重复值,也允许索引项中出现重复值。所以不允许出现字段值的索引是主索引和候选索引。14.下列程序段的执行结果是( )。DIME a(8)a(1)1a(2)1for i3 to 8a(i)a(i1)a(i2)next?a(7)(分数:2.00)A.5B.8C.13 D.21解析:解析:For 循环中的语句 a(i)a(i1)a(i2)是指定每个元素的值为它的前两项的和,这个元素必须只能从第 3 项开始指定。由于前两项分别是 1、1,所以数组 a 的 8 个元素分别是1,1,2,3,5,8
27、,13,21;元素 a(7)的值是 13。15.在表设计器中设置的索引包含在( )。(分数:2.00)A.单独索引文件中B.唯一索引文件中C.结构复合索引文件中 D.非结构复合索引文件中解析:解析:从索引的组织方式来讲,索引分为三类索引文件:单独的.idx 索引,是一种非结构索引;采用非默认名的.cdx 索引,也是非结构索引;与表名同名的.cdx 索引,是结构复合索引。与表名同名的.cdx 索引是一种结构复合压缩索引,它是 Visual FoxPro 数据库中最普通也是最重要的一种索引文件,用表设计器建立的索引都是这类索引。16.假设表“学生.dbf“已在某个工作区打开,且取别名为 stude
28、nt。选择“学生“表所在工作区为当前工作区的命令是( )。(分数:2.00)A.SELECT 0B.USE 学生C.SELECT 学生D.SELECT student 解析:解析:指定工作区的命令格式为:SELECT nWorkArea|cTableAlias,其中参数 nWorkArea 是一个大于等于 0 的数字,用于指定工作区号,最小的工作区号是 1,最大的工作区号是 32767,如果这里指定为0,则选择编号最小的可用工作区;如果在某个工作区中已经打开了表,若要回到该工作区操作该表,可以使用参数 cTableAlias,该参数是已经打开的表的别名。17.在表单设计器环境中,为表单添加一选
29、项按钮组: 男 女。默认情况下,第一个选项按钮“男“为选中状态,此时该选项按钮组的 Value 属性值为( )。(分数:2.00)A.0B.1 C.男DT.解析:解析:选项组的 Value 值为选项组中被选中的选项按钮。如果设置了 ControlSource 属性,那么该属性值为 ControlSource 属性指定的变量值,否则为默认值,即选中的选项的序号,该序号从 1 开始,所以本题答案为 1。18.在 Visual Foxpro 中,属于命令按钮属性的是( )。(分数:2.00)A.Parent B.ThisC.ThisFormD.Click解析:解析:Parent 是命令按钮的属性,它
30、指向了命令按钮的父级对象;This 指向命令按钮本身,它不是命令按钮的属性;ThisForm 指向了命令按钮所在的 Form 对象,它也不是命令按钮的属性;Click 是命令按钮的事件。19.表单文件的扩展名是( )。(分数:2.00)A.frmB.prgC.scx D.vcx解析:解析:表单文件的扩展名是 SCX;FRM 是 Visual Basic 的 From 窗体文件的扩展名;PRG 是程序文件的扩展名;VCX 是可视类库文件的扩展名。20.以下关于“查询“的正确描述是( )。(分数:2.00)A.查询文件的扩展名为 prgB.查询保存在数据库文件中C.查询保存在表文件中D.查询保存在
31、查询文件中 解析:解析:查询文件的扩展名是 qpr,所以 A 选项说法错误;查询是以扩展名为 qpr 的文件保存在磁盘上的,所以查询是保存在查询文件中,不是保存在数据库文件或表文件中,所以 B、C 选项说法错误,D选项说法正确。21.下列程序段执行以后,内存变量 y 的值是( )。x76543y0DO WHILE x0yx%10y*10xint(x/10)ENDDO(分数:2.00)A.3456B.34567 C.7654D.76543解析:解析:22.下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是( )。SET TALK OFFINPUT “x“ TO xs0DO WHILE
32、x!0ssMOD(x,10)_ ENDDO? sSET TALK ON(分数:2.00)A.xint(x/10) B.xint(x%10)C.xxint(x/10)D.xxint(x%10)解析:解析:MOD 是取余函数,MOD(x,10)就是取 x 的个位数,因为本题是计算一个整数的各位数字之和,如果依次把 x 的各位移到个位数上,进行相加就可以实现了。Do 循环中的第一条语句,即是计算个位数之和,所以第 2 条语句应该是将 x 的各位数字进行移动,而 A 选项的语句是将 x 的值除以 10 后取整,即可以实现将每位向右移动一位。23.在 Visual FoxPro 中,如果希望内存变量只能
33、在本模块(过程) 中使用,不能在上层或下层模块中使用。说明该种内存变量的命令是( )。(分数:2.00)A.PRIVATEB.LOCAL C.PUBLICD.不用说明,在程序中直接使用解析:解析:内存变量的作用域中,全局变量(PUBLIC 声明)在任何模块中使用,局部变量(LOCAL)只能在建立它的模块中使用,不能在上层或下层模块中使用,私有变量不需要通过 PUBLIC 和 LOCAL 命令事先声明,而在程序中直接使用。24.在 Visual FoxPro 中,在屏幕上预览报表的命令是( )。(分数:2.00)A.PREVIEW REPORTB.REPORT FORM PREVIEW C.DO
34、 REPORT PREVIEWD.RUN REPORT PREVIEW解析:解析:在命令窗口或程序中使用 REPORT FORM 命令可以打印指定的报表,使用 REPORT FORM PREVIEW 可以预览指定的报表。25.设 x“123“,y123,k“y“,表达式 x&k 的值是( )。(分数:2.00)A.123123B.246C.123yD.数据类型不匹配 解析:解析:本题考查宏替换函数:&,其功能为替换出字符型变量的内容,即函数值是变量中的字符串。本题数据类型不匹配,无法替换。26.运算结果不是 2010 的表达式是( )。(分数:2.00)A.int(2010.9)B.round
35、(2010.1,0)C.ceiling(2010.1) D.floor(2010.9)解析:解析:INT()返回指定数值表达式的整数部分。CEILING()返回大于或等于指定数值表达式的最小整数。FLOOR()返回小于或等于指定数值表达式的最大整数。ROUND(,)返回指定表达式在指定位置四舍五入之后的结果,若()大于等于 0,那么它表示的是要保留的小数位数;若()小于 0,那么它表示的是整数部分的舍入位数。27.下面程序的运行结果是( )。SET TALK OFFSTORE 0 TO s,iDO WHILE iA.20B.30C.50 D.160解析:解析:SET TALK OFF 的含义为
36、关闭程序运算的显示过程。STORETO 为内存变量的赋值命令,用于计算表达式并将表达式值赋给一个或多个内存变量。MOD(,)为求余数函数,用于返回两个数值相除后的余数。本题为一个循环,不满足条件后跳出循环,最终返回 S 的值为 50。28.SQL 语言的更新命令的关键词是( )。(分数:2.00)A.INSERTB.UPDATE C.CREATED.SELECT解析:解析:更新数据的命令格式为:UPDATE 表名 SET 字段名 1表达式 1 ,字段名 2表达式 2 WHERE 条件。一般使用 WHERE 子句指定更新的条件,并且一次可以更新多个字段;如果不使用 WHERE 子句,则更新全部记
37、录。INSERT TABLE 命令用于插入数据,CREATE TABLE 用于新建表。29.删除 student 表的“平均成绩“字段的正确 SQL 命令是( )。(分数:2.00)A.DELETE TABLE student DELETE COLUMN 平均成绩B.ALTER TABLE student DELETE COLUMN 平均成绩C.ALTER TABLE student DROP COLUMN 平均成绩 D.DELETE TABLE student DROP COLUMN 平均成绩解析:解析:删除表中的字段、索引及有效性规则、错误提示信息及默认值,可使用 ALTER TABLE
38、命令,其基本格式为: ALTER TABLE DROP COLUMN DROP PRIMARY KEY TAG DROP UNIQUE TAG DROP CHECK 因此,选项 C 正确。30.从 student 表删除年龄大于 30 的记录的正确 SQL 命令是( )。(分数:2.00)A.DELETE FOR 年龄30B.DELETE FROM student WHERE 年龄30 C.DELETE student FOR 年龄30D.DELETE student WHILE 年龄30解析:解析:删除数据的命令格式为:DELETE FROM 表名 WHERE 条件。该命令是逻辑删除指定表中
39、满足条件的记录,如果要物理删除记录需要继续使用 PACK 命令。WHERE 指定被删除的记录所满足的条件,如果不使用 WHERE 子句,则删除该表中的全部记录。A、C、D 均为错误的命令格式。要从 student 表删除年龄大于 30 的记录,正确的命令应该是 DELETE FROM student WHERE 年龄30,即 B 选项。31.假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的 SQL 命令是( )。(分数:2.00)A.SELECT 产品名称, AVG(单价)FROM 产品 GROUP BY 单价B.SELECT 产品名称, AVG(单价)FROM 产品 ORDER
40、 BY 单价C.SELECT 产品名称, AVG(单价)FROM 产品 ORDER BY 产品名称D.SELECT 产品名称, AVG(单价)FROM 产品 GROUP BY 产品名称 解析:解析:使用 GROUP BY 短语首先依据产品名称对产品进行分组,然后再计算每种产品的平均单价(AVG)。ORDER BY 短语则用来排序。本题 D 选项正确。32.设有 S(学号,姓名,性别)和 SC(学号,课程号,成绩)两个表,如下 SQL 语句检索选修的每门课程的成绩都高于或等于 85 分的学生的学号、姓名和性别,正确的 SQL 命令是( )。(分数:2.00)A.SELECT 学号,姓名,性别 F
41、ROM s WHERE EXISTS ( SELECT * FROM sc WHERE SC.学号 S.学号 AND 成绩 B.SELECT 学号,姓名,性别 FROM s WHERE NOT EXISTS ( SELECT * FROM sc WHERE SC.学号 S.学号 AND 成绩 C.SELECT 学号,姓名,性别 FROM s WHERE EXISTS (SELECT * FROM sc WHERE SC.学号 S.学号 AND成绩 85 )D.SELECT 学号,姓名,性别 FROM s WHERE NOT EXISTS ( SELECT * FROM sc WHERE SC.
42、学号 S.学号 AND 成绩 70 OR 成绩 C.SELECT 学号,课程号,成绩 FROM sc WHERE 成绩 70 OR D.SELECT 学号,课程号,成绩 FROM sc WHERE 成绩 70 AND 解析:解析:简单查询是基于一个表进行的查询,是由 SELECT 和 FROM 短语构成的无条件查询,或由SELECT、FROM 和 WHERE 短语构成的条件查询。BETWEENAND为常用运算符,表示在和之间,其中包含等于,即大于等于 AND 前面的数,小于等于 AND 后面的数。本题查询成绩在 70 分至 85 分之间学生的学号、课程号和成绩,WHERE 指定的条件应为“WH
43、ERE 成绩 BETWEEN 70 AND 85“,因此 A 选项正确。34.查询有选课记录,但没有考试成绩(成绩字段是空值)的学生的学号和课程号,正确的 SQL 语句是( )。(分数:2.00)A.SELECT 学号,课程号 FROM sc WHERE 成绩 “B.SELECT 学号,课程号 FROM sc WHERE 成绩 NULLC.SELECT 学号,课程号 FROM sc WHERE 成绩 IS NULL D.SELECT 学号,课程号 FROM sc WHERE 成绩解析:解析:本题查询没有考试成绩的学号和课程号,可以使用空值(IS NULL)查询,NULL 或 NOT NULL说
44、明字段允许或不允许为空值。选项 C 格式正确。35.“教师表“中有“职工号“、“姓名“、“工龄“和“系号“等字段,“学院表“中有“系名“和“系号“等字段,计算“计算机“系教师总数的命令是( )。(分数:2.00)A.SELECT COUNT(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 学院表.系号 WHERE 系名“计算机“ B.SELECT COUNT(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 学院表.系号 ORDER BY 教师表.系号 HAVING 学院表.系名“计算机“C.SELECT SUM(*)FROM 教师表 INNER
45、JOIN 学院表 ON 教师表.系号 学院表.系号 GROUP BY 教师表.系号 HAVING 学院表.系名“计算机“D.SELECT SUM(*)FROM 教师表 INNER JOIN 学院表 ON 教师表.系号 学院表.系号 ORDER BY 教师表.系号 HAVING 学院表.系名“计算机“解析:解析:本题考查 SELECT 查询,Visual FoxPro 的 SQL SELECT 命令的语法格式如下: SELECTALLDISTINCTTOP PERCENT .,. FROM数据库名! INNERLEFTOUTERRIGHTOUTERFULLOUTERJOIN 数据库名! ON 连
46、接条件 INTO 目标文件 TO FILE 文件名ADDITIVETO PRINTERPROMPTTO SCREEN WHERE AND 连接条件ANDOR 筛选条件 GROUP BY ,分组表达式 2 HAVING UNIONALLASCDESC 本题不必使用排序(ORDER BY)、分组(GROUP BY)和超链接查询(INNER JOIN),A 选项语法格式正确。36.教师表中有“职工号“、“姓名“、“工龄“和“系号“等字段,“学院表“中有“系名“和“系号“等字段,求教师总数最多的系的教师人数,正确的命令序列是( )。(分数:2.00)A.SELECT 教师表.系号,COUNT(*)AS
47、 人数 FROM 教师表,学院表 GROUP BY 教师表.系号 INTO DBF TEMPELECT MAX(人数)FROM TEMPB.SELECT 教师表.系号,COUNT(*)FROM 教师表,学院表 WHERE 教师表.系号 学院表.系号 GROUP BY 教师表.系号 INTO DBF TEMPSELECT MAX(人数)FROM TEMPC.SELECT 教师表.系号,COUNT(*)AS 人数 FROM 教师表,学院表 WHERE 教师表.系号 学院表.系号GROUP BY 教师表.系号 TO FILE TEMPSELECT MAX(人数)FROM TEMPD.SELECT 教
48、师表.系号,COUNT(*)AS 人数 FROM 教师表,学院表 WHERE 教师表.系号 学院表.系号GROUP BY 教师表.系号 INTO DBF TEMPSELECT MAX(人数)FROM TEMP 解析:解析:本题考查 SELECT 查询,Visual FoxPro 的 SQL SELECT 命令的语法格式如下: SELECTALLDISTINCTTOP PERCENT .,. FROM数据库名! INNERLEFTOUTERRIGHTOUTERFULLOUTERJOIN 数据库名! ON 连接条件 INTO 目标文件 TO FILE 文件名ADDITIVETO PRINTERPROMPTTO SCREEN WHERE AND 连接条件ANDOR 筛选条件 GROUP BY ,分组表达式 2 HAVING UNIONALLASCDESC 要查询教师总数最多的系的教师人数,首先排除 B 选项。输出查询结果应使用 into 而不是 to,排除 C 选项。而 B 选项命令语句的顺序错误,所以本题选 D。37.查询单位名称中含“北京“字样的所有读者的借书证号和姓名,正确的 SQL 语句是