1、国家二级 VF 机试(选择题)-试卷 18 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系2.下列叙述中正确的是(分数:2.00)A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.以上说法都不对3.一棵二叉
2、树中共有 80 个叶子结点与 70 个度为 1 的结点,则该二叉树中的总结点数为(分数:2.00)A.219B.229C.230D.2314.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为(分数:2.00)A.9B.10C.45D.905.构成计算机软件的是(分数:2.00)A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档6.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是(分数:2.00)A.测试B.设计C.可行性研究D.实现7.下面不能作为结构化方法软件需求分析工具的是(分数:2.00)A.系统结构图B.数据字典(DD)C.数据流程
3、图(DFD 图)D.判定表8.在关系模型中,每一个二维表称为一个(分数:2.00)A.关系B.属性C.元组D.主码(键)9.若实体 A 和 B 是一对多的联系,实体 B 和 C 是一对一的联系,则实体 A 和 C 的联系是(分数:2.00)A.一对一B.一对多C.多对一D.多对多10. (分数:2.00)A.选择B.投影C.交D.并11.在 Visual FoxPro 中,不允许出现重复字段值的索引是:(分数:2.00)A.主索引和唯一索引B.主索引和候选索引C.唯一索引和候选索引D.唯一索引12.在 Visual FoxPro 中,参照完整性规则不包括:(分数:2.00)A.更新规则B.查询
4、规则C.删除规则D.插入规则13.为表中一些字段创建普通索引的目的是:(分数:2.00)A.改变表中记录的物理顺序B.确保实体完整性约束C.加快数据库表的更新速度D.加快数据库表的查询速度14.在 Visual FoxPro 中,使用 LOCATE ALL FOR 命令按条件查找记录,可用来判断命令找到记录的逻辑条件是:(分数:2.00)A.FOUND()函数返回.F.B.BOF()函数返回.TC.EOF()函数返回.FD.EOF()函数返回.T.15.在 Visual FoxPro 中,仅显示当前表当前记录的命令是:(分数:2.00)A.LISTB.DISPLAYC.SELECTD.SHOW
5、16.在表设计器中创建的索引都存放在:(分数:2.00)A.独立的索引文件中B.复合索引文件中C.结构复合索引文件中D.普通索引文件中17.设数据库表中有一个 C 型字段 NAME。打开表文件后,要把内存变量 NAME 的字符串内容输入到当前记录的 NAME 字段,应当使用命令:(分数:2.00)A.NAME=NAMEB.NAME=M.NAMEC.STORE M.NAME TO NAMED.REPLACE NAME WITH M.NAME18.假设数据库已经打开,要删除其中的视图 myview,可使用命令:(分数:2.00)A.DELETE myviewB.DELETE VIEW myview
6、C.DROP myviewD.DROP VIEW myview19.在视图设计器中有、而在查询设计器中没有的选项卡是:(分数:2.00)A.排序依据B.分组依据C.杂项D.更新条件20.假设查询文件(myquery.qpr)已经创建,要显示查询结果,可使用命令:(分数:2.00)A.DO myquery.qprB.USE myquery.qprC.BROWSE myquery.qprD.LIST mquery.qpr21.在 SET EXACT ON 情况下,结果值为逻辑真的表达式是:(分数:2.00)A.“等级考试“=“等级“B.“等级“=“等级考试“C.“等级“+space(4)=“等级考
7、试“D.“等级“=“等级“+space(4)22.在设置日期格式时,不能使用的设置命令是(分数:2.00)A.SET DATE DMYB.SET DATE MDYC.SET DATE MYDD.SET DATE YMD23.下面命令的输出结果是:DIMENSION a(10)? a(1)(分数:2.00)AF.BT.C.0D.未定义24.设 d=time(),命令 ? VARTYPE (d) 的输出值是(分数:2.00)A.LB.CC.ND.D25.有如下赋值语句,结果为“大家好“的表达式是:a = “你好“b = “大家“(分数:2.00)A.b + b + LEFT(a, 3, 4)B.b
8、 + LEFT(a, 2, 1)C.b + RIGHT(a, 2)D.b + RIGHT(a, 1)26.如果一个过程不包含 RETURN 语句,或者 RETURN 语句中没有指定表达式,那么该过程:(分数:2.00)A.没有返回值B.返回 0C.返回.F.D.返回.T.27.下面程序的运行结果是:SET TALK OFFn=1DO proc1 WITH (n)? n+2PROCEDURE proc1PARAMETERS nFOR k=2 TO 4 n=n+kENDFORRETURN(分数:2.00)A.3B.10C.11D.1228.在 SQL 中,删除表的语句是:(分数:2.00)A.DR
9、OP TABLEB.DROP VIEWC.ERASE TABLED.DELETE TABLE29.在 SQL 中,数据操纵语句不包括:(分数:2.00)A.APPENDB.DELETEC.UPDATED.INSERT30.有以下表:读者(借书证号 C, 姓名 C, 单位 C, 性别 L, 职称 C, 联系电话 C)说明:“性别“值为逻辑真表示男。查询性别为男(字段值为逻辑真)、职称为教授或副教授的读者信息,正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM 读者 WHERE 性别 AND 职称=“教授“ OR 职称=“副教授“B.SELECT * FROM 读者 WHER
10、E 性别=.T. AND 职称=“教授“ OR 职称=“副教授“C.SELECT * FROM 读者 WHERE 职称=“教授“ OR 职称=“副教授“ AND 性别=.T.D.SELECT * FROM 读者 WHERE (职称=“教授“ OR 职称=“副教授“) AND 性别31.有以下两个表:读者(借书证号 C, 姓名 C, 单位 C, 性别 L, 职称 C, 联系电话 C)借阅(借书证号 C, 总编号 C, 借书日期 D)说明:“性别“值为逻辑真表示男。查询 2004 年 11 月 12 日借阅过图书的读者信息,正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM
11、读者 WHERE 借书日期=2004-11-12B.SELECT * FROM 读者, 借阅;WHERE 借书日期=2004-11-12 AND 读者.借书证号=借阅.借书证号C.SELECT * FROM 读者 JOIN 借阅;WHERE 读者.借书证号=借阅.借书证号 AND 借书日期=2004-11-12D.SELECT * FROM 读者 INNER JOIN 借阅;WHERE 读者.借书证号=借阅.借书证号 AND 借书日期=2004-11-1232.有以下表:读者(借书证号 C, 姓名 C, 单位 C, 性别 L, 职称 C, 联系电话 C)查询单价小于 16 或大于 20 的图书
12、信息,不正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM 图书 WHERE NOT 单价 BETWEEN 16 AND 20B.SELECT * FROM 图书 WHERE 单价 NOT BETWEEN 16 AND 20C.SELECT * FROM 图书 WHERE !单价 BETWEEN 16 AND 20D.SELECT * FROM 图书 WHERE 单价 !BETWEEN 16 AND 2033.有以下表:图书(总编号 C, 分类号 C, 书名 C, 作者 C, 出版单位 C, 单价 N)查询书名中含有“基础“字样的图书信息,正确的 SQL 语句是:(分数:
13、2.00)A.SELECT * FROM 图书 WHERE 书名 LIKE “*基础*“B.SELECT * FROM 图书 WHERE 书名= “*基础*“C.SELECT * FROM 图书 WHERE 书名 LIKE “%基础%“D.SELECT * FROM 图书 WHERE 书名= “%基础%“34.有以下表:图书(总编号 C, 分类号 C, 书名 C, 作者 C, 出版单位 C, 单价 N)查询由“高等教育出版社“和“科学出版社“出版的图书信息,要求同一出版单位出版的图书集中在一起显示,正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM 图书 WHERE 出版
14、单位=“高等教育出版社“ AND 出版单位=“科学出版社“;ORDER BY 出版单位B.SELECT * FROM 图书 WHERE 出版单位 IN(“高等教育出版社“, “科学出版社“);ORDER BY 出版单位C.SELECT * FROM 图书 WHERE 出版单位=“高等教育出版社“ AND 出版单位=“科学出版社“;GROUP BY 出版单位D.SELECT * FROM 图书 WHERE 出版单位 IN(“高等教育出版社“, “科学出版社“);GROUP BY 出版单位35.有以下两个表:借阅(借书证号 C, 总编号 C, 借书日期 D)图书(总编号 C, 分类号 C, 书名
15、C, 作者 C, 出版单位 C, 单价 N)查询没有任何借阅记录的图书信息,不正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM 图书 WHERE 总编号 ALL (SELECT 总编号 FROM 借阅)C.SELECT * FROM 图书 WHERE 总编号 NOT IN (SELECT 总编号 FROM 借阅)D.SELECT * FROM 图书 WHERE NOT EXISTS (SELECT 总编号 FROM 借阅 WHERE 总编号=图书.总编号)36.有以下表:图书(总编号 C, 分类号 C, 书名 C, 作者 C, 出版单位 C, 单价 N)统计并显示图书数
16、量大于等 10 的出版单位,正确的 SQL 语句是:(分数:2.00)A.SELECT 出版单位, COUNT(*) 数量 FROM 图书 GROUP BY 出版单位 WHERE 数量=10B.SELECT 出版单位, COUNT(*) 数量 FROM 图书 GROUP BY 出版单位 HAVING 数量=10C.SELECT 出版单位, SUM(*) 数量 FROM 图书 GROUP BY 出版单位 WHERE 数量=10D.SELECT 出版单位, SUM(*) 数量 FROM 图书 GROUP BY 出版单位 HAVING 数量=1037.有以下两个表:借阅(借书证号 C, 总编号 C,
17、 借书日期 D)图书(总编号 C, 分类号 C, 书名 C, 作者 C, 出版单位 C, 单价 N)统计每本图书被借阅的次数,若没被借阅过,则显示次数为 0,正确的SQL 语句是:(分数:2.00)A.SELECT 图书.总编号, 书名, COUNT(*) 次数 FROM 图书 RIGHT JOIN 借阅 ON 图书.总编号=借阅.总编号 GROUP BY 图书.总编号B.SELECT 图书.总编号, 书名, COUNT(*) 次数 FROM 图书 JOIN 借阅 ON 图书.总编号=借阅.总编号 GROUP BY 图书.总编号C.SELECT 图书.总编号, 书名, COUNT(借阅.借书证
18、号) 次数 FROM 图书 LEFT JOIN 借阅 ON 图书.总编号=借阅.总编号 GROUP BY 图书.总编号D.SELECT 图书.总编号, 书名, COUNT(借阅.借书证号) 次数 FROM 图书 JOIN 借阅 ON 图书.总编号=借阅.总编号 GROUP BY 图书.总编号38.为便于在表单中连续添加同种类型的多个控件,可先按下“表单控件“工具栏中的:(分数:2.00)A.“选定对象“按钮B.“按钮锁定“按钮C.“生成器锁定“按钮D.“查看类“按钮39.下面不属于按钮控件事件的是:(分数:2.00)A.InitB.LoadC.ClickD.Error40.下面设置系统菜单的命
19、令中,错误的是:(分数:2.00)A.SET SYSMENU DEFAULTB.SET SYSMENU NOSAVEC.SET SYSMENU OFFD.SET SYSMENU TO国家二级 VF 机试(选择题)-试卷 18 答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系 解析:解析:算法的空间复杂度是指算法在执行过程中
20、所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为 D。2.下列叙述中正确的是(分数:2.00)A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.以上说法都不对解析:解析:在循环队列中,用队尾指针 rear 指向队列中的队尾元素,用排头指针 front 指向排头元素的前一个位置。因此,从排头指针 front 指向的后一个位置直到队尾指针 rear 指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针
21、的变化而变化,A 正确。3.一棵二叉树中共有 80 个叶子结点与 70 个度为 1 的结点,则该二叉树中的总结点数为(分数:2.00)A.219B.229 C.230D.231解析:解析:二叉树中,度为 0 的节点数等于度为 2 的节点数加 1,即 n2=n0-1,叶子节点即度为 0,则n2=79,总结点数为 n0+n1+n2=80+70+79=229,答案为 B。4.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为(分数:2.00)A.9B.10C.45 D.90解析:解析:冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换
22、的次数为 9+8+7+6+5+4+3+2+1=45,选 C。5.构成计算机软件的是(分数:2.00)A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档 解析:解析:软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。6.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是(分数:2.00)A.测试B.设计C.可行性研究 D.实现解析:解析:开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计 3 个阶段,实施则包括编码和测试两个阶段,C 不属于开发阶段。7.下面不能作为结构化方法软件需求分析工具的是
23、(分数:2.00)A.系统结构图 B.数据字典(DD)C.数据流程图(DFD 图)D.判定表解析:解析:结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。8.在关系模型中,每一个二维表称为一个(分数:2.00)A.关系 B.属性C.元组D.主码(键)解析:解析:关系模型采用二维表来表示,即每个二维表称为一个关系。9.若实体 A 和 B 是一对多的联系,实体 B 和 C 是一对一的联系,则实体 A 和 C 的联系是(分数:2.00)A.一对一B.一对多 C.多对一D.多对多解析:解析:A 和 B 为一对多的联系,则对于 A 中的每一个实体,B 中有多个实体与之联系,而 B 与
24、C 为一对一联系,则对于 B 中的每一个实体,C 中之多有一个实体与之联系,则可推出对于 A 中的每一个实体,C 中有多个实体与联系,所以为一对多联系。10. (分数:2.00)A.选择B.投影C.交D.并 解析:解析:关系 T 中的元素与关系 R 和关系 S 中不同元素的总和,因此为并操作。11.在 Visual FoxPro 中,不允许出现重复字段值的索引是:(分数:2.00)A.主索引和唯一索引B.主索引和候选索引 C.唯一索引和候选索引D.唯一索引解析:解析:根据索引功能的不同,可以将索引分为主索引、候选索引、唯一索引和普通索引四种,其中主索引的特点是在指定字段或表达式中不允许出现重复
25、值的索引;候选索引与主索引类似,指定字段或表达式不允许出现重复值,建立候选索引的字段可以看作是候选关键字;唯一索引是为了保持同早期版本的兼容性,唯一索引是指索引项的唯一,而不是字段值的唯一,在使用相应的索引时,重复的索引字段值只有唯一一个值出现在索引项中。12.在 Visual FoxPro 中,参照完整性规则不包括:(分数:2.00)A.更新规则B.查询规则 C.删除规则D.插入规则解析:解析:参照完整性约束包括更新规则、删除规则和插入规则。13.为表中一些字段创建普通索引的目的是:(分数:2.00)A.改变表中记录的物理顺序B.确保实体完整性约束C.加快数据库表的更新速度D.加快数据库表的
26、查询速度 解析:解析:Visual FoxPro 中索引是由指针构成的文件,这些指针逻辑上按照索引关键字值进行排序。索引文件和表的.dbf 文件是分别存储的,并且不改变表中记录的物理顺序。使用索引的目的是为了加快对表的查询操作。14.在 Visual FoxPro 中,使用 LOCATE ALL FOR 命令按条件查找记录,可用来判断命令找到记录的逻辑条件是:(分数:2.00)A.FOUND()函数返回.F.B.BOF()函数返回.TC.EOF()函数返回.F D.EOF()函数返回.T.解析:解析:LOCATE 命令是按条件定位记录位置的命令,其格式为:LOCATE FOR 。该命令执行后将
27、记录指针定位在满足条件的第 1 条记录上。如果要使指针指向下一条满足条件的记录,使用 CONTINUE 命令,如果没有满足条件的记录则指向文件结束位置。使用 LOCATE ALL 命令按条件对表中的记录进行查找,若查不到记录,函数 EOF()的返回值应该是 .T.,若找到记录则返回.F 。15.在 Visual FoxPro 中,仅显示当前表当前记录的命令是:(分数:2.00)A.LISTB.DISPLAY C.SELECTD.SHOW解析:解析:显示记录的命令是 LIST 和 DISPLAY,它们的区别仅在于不使用条件时,LIST 默认显示全部记录,而 DISPLAY 则默认显示当前记录。S
28、how 为表单的常用方法,用于显示表单。SELECT 为 SQL 查询语句中的一个短语,用于说明要查询的字段。16.在表设计器中创建的索引都存放在:(分数:2.00)A.独立的索引文件中B.复合索引文件中C.结构复合索引文件中 D.普通索引文件中解析:解析:在 Visual FoxPro 中,根据索引的功能对索引进行分类,也可以根据索引文件扩展名分类。根据索引功能的不同,可以将索引分为主索引、候选索引、唯一索引和普通索引四种。按文件扩展名分类可分为单索引文件和复合索引文件(结构复合索引文件和非结构复合索引文件)。其中,结构复合索引也是结构复合压缩索引,在表设计器中建立的索引都是结构复合压缩索引
29、。17.设数据库表中有一个 C 型字段 NAME。打开表文件后,要把内存变量 NAME 的字符串内容输入到当前记录的 NAME 字段,应当使用命令:(分数:2.00)A.NAME=NAMEB.NAME=M.NAMEC.STORE M.NAME TO NAMED.REPLACE NAME WITH M.NAME 解析:解析:在 Visual FoxPro 中可以交互修改记录,也可以用指定值直接修改记录。其中,常用的直接利用表达式或值修改记录的命令是 REPLACE,其语法格式为:REPLACE WITH, WITH.FOR。当出现内存变量与字段变量同名时,若简单地用变量名访问,则系统默认为是字段
30、变量。若要访问内在变量,则必须在变量名前加上前缀 M.(或 M-)。18.假设数据库已经打开,要删除其中的视图 myview,可使用命令:(分数:2.00)A.DELETE myviewB.DELETE VIEW myviewC.DROP myviewD.DROP VIEW myview 解析:解析:视图由于是从表派生而来的,所以不存在修改结构的问题,但是视图可以删除,其命令格式为:DROP VIEW 。本题要删除视图 myview,正确的命令应为 DROP VIEW myview,即 D 选项。19.在视图设计器中有、而在查询设计器中没有的选项卡是:(分数:2.00)A.排序依据B.分组依据
31、C.杂项D.更新条件 解析:解析:视图设计器与查询设计器类似区别主要有以下几点: 查询设计器的结果是将查询以.qpr为扩展名的文件保存在磁盘中;而视图设计完后,在磁盘上找不到类似的文件,视图的结果保存在数据库中。 由于视图是可以用于更新的,所以它有更新属性需要设置,为此在视图设计器中多了一个“更新条件“选项卡。 在视图设计器中没有“查询去向“的问题。20.假设查询文件(myquery.qpr)已经创建,要显示查询结果,可使用命令:(分数:2.00)A.DO myquery.qpr B.USE myquery.qprC.BROWSE myquery.qprD.LIST mquery.qpr解析:
32、解析:查询文件建立以后,可以通过项目中的运行,或通过“程序“菜单中的“运行“项来执行或在查询设计器打开的情况下单击常用工具栏上的21.在 SET EXACT ON 情况下,结果值为逻辑真的表达式是:(分数:2.00)A.“等级考试“=“等级“B.“等级“=“等级考试“C.“等级“+space(4)=“等级考试“D.“等级“=“等级“+space(4) 解析:解析:用字符表达式进行比较有两种方法: 用双等号运算符(=)精确比较:只有当两个字符串完全相同(包括空格及位置),才会为逻辑真 .T.。 用单等号运算符(=)比较,运算结果与 set exact onoff 的设置有关。其中,若设置为 ON
33、,则先在较短的字符串尾加若干空格,使两个字符串的长度相等,再进行精确比较。22.在设置日期格式时,不能使用的设置命令是(分数:2.00)A.SET DATE DMYB.SET DATE MDYC.SET DATE MYD D.SET DATE YMD解析:解析:SET DATE 用于设置日期显示的格式,其命令格式为:SET DATE TO AMERICANANSIBRITISHFRENCHGERMANITALIANJAPANUSAMDYDMYYMD,C 选项格式错误。23.下面命令的输出结果是:DIMENSION a(10)? a(1)(分数:2.00)AF. BT.C.0D.未定义解析:解析
34、:DIMENSION(,),用于创建数组,数组创建后,系统自动给每个数组元素赋以逻辑假.F.。24.设 d=time(),命令 ? VARTYPE (d) 的输出值是(分数:2.00)A.LB.C C.ND.D解析:解析:VARTYPE(,)为数据类型测试函数,测试的类型,返回一个大写字母,字母的含义如下表:25.有如下赋值语句,结果为“大家好“的表达式是:a = “你好“b = “大家“(分数:2.00)A.b + b + LEFT(a, 3, 4)B.b + LEFT(a, 2, 1)C.b + RIGHT(a, 2) D.b + RIGHT(a, 1)解析:解析:RIGHT()和 LEF
35、T()均为取子串函数,其中 LEFT( )从指定表达式值的左端取一个指定长度的子串作为函数值,RIGHT( )从指定表达式值的右端取一个指定长度的子串作为函数值。本题仅 C 选项的运算结果为“大家好“。26.如果一个过程不包含 RETURN 语句,或者 RETURN 语句中没有指定表达式,那么该过程:(分数:2.00)A.没有返回值B.返回 0C.返回.F.D.返回.T. 解析:解析:程序文件被运行时,文件中包含的命令将被依次运行,直到所有的命令被运行,或者运行到以下命令: CANCAL:终止程序运行,清除所有的私有变量,返回命令窗口。 DO:转去运行另一个程序 RETURN:结束当前程序的运
36、行,返回到调用它的上级程序,若无上级程序则返回到命令窗口。 QUIT:退出 Visual FoxPro 系统,返回到操作系统。 如果一个过程不包含 RETURN 语句,或者 RETURN语句中没有指定表达式,那么该过程返回.T.,因此 D 选项正确。27.下面程序的运行结果是:SET TALK OFFn=1DO proc1 WITH (n)? n+2PROCEDURE proc1PARAMETERS nFOR k=2 TO 4 n=n+kENDFORRETURN(分数:2.00)A.3 B.10C.11D.12解析:解析:SET TALK OFF 的含义为关闭程序运算的显示过程。FOR-END
37、FOR 是循环的结构的一种,先将初值赋给循环变量,然后判断循环条件是否成立,若成立,则运行循环体,然后循环变量增加一个步长值,并在次判断循环条件确定下一次的循环操作,如果条件不成立则结束循环运行 ENDFOR 后的语句。本题运算结果为 3。28.在 SQL 中,删除表的语句是:(分数:2.00)A.DROP TABLE B.DROP VIEWC.ERASE TABLED.DELETE TABLE解析:解析:删除数据的命令格式为:DELETE FROM 表名 WHERE 条件。该命令是逻辑删除指定表中满足条件的记录,如果要物理删除记录需要继续使用 PACK 命令。WHERE 指定被删除的记录所满
38、足的条件,如果不使用 WHERE 子句,则删除该表中的全部记录。29.在 SQL 中,数据操纵语句不包括:(分数:2.00)A.APPEND B.DELETEC.UPDATED.INSERT解析:解析:SQL 的操作功能是指对数据库中数据的操作功能,主要包括插入(INSERT)、更新(UPDATE) 和删除(DELETE)。APPEND 命令用于增加表中的记录,不属于数据操纵语句。30.有以下表:读者(借书证号 C, 姓名 C, 单位 C, 性别 L, 职称 C, 联系电话 C)说明:“性别“值为逻辑真表示男。查询性别为男(字段值为逻辑真)、职称为教授或副教授的读者信息,正确的 SQL 语句是
39、:(分数:2.00)A.SELECT * FROM 读者 WHERE 性别 AND 职称=“教授“ OR 职称=“副教授“B.SELECT * FROM 读者 WHERE 性别=.T. AND 职称=“教授“ OR 职称=“副教授“C.SELECT * FROM 读者 WHERE 职称=“教授“ OR 职称=“副教授“ AND 性别=.T.D.SELECT * FROM 读者 WHERE (职称=“教授“ OR 职称=“副教授“) AND 性别 解析:解析:SQL 的基本格式为 SELECT-FROM-WHERE,其中 SELECT 说明要查询的字段,FROM 说明要查询的字段来自哪个表或哪些
40、表,WHERE 说明查询条件。职称为教授或副教授对应的命令语句是“职称=“教授“ OR 职称=“副教授“,同时要求性别为男,因此正确的命令为选项 D。31.有以下两个表:读者(借书证号 C, 姓名 C, 单位 C, 性别 L, 职称 C, 联系电话 C)借阅(借书证号 C, 总编号 C, 借书日期 D)说明:“性别“值为逻辑真表示男。查询 2004 年 11 月 12 日借阅过图书的读者信息,正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM 读者 WHERE 借书日期=2004-11-12B.SELECT * FROM 读者, 借阅;WHERE 借书日期=2004-11
41、-12 AND 读者.借书证号=借阅.借书证号 C.SELECT * FROM 读者 JOIN 借阅;WHERE 读者.借书证号=借阅.借书证号 AND 借书日期=2004-11-12D.SELECT * FROM 读者 INNER JOIN 借阅;WHERE 读者.借书证号=借阅.借书证号 AND 借书日期=2004-11-12解析:解析:连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。在连接查询中,当需要对多个表连接时,可以用 SELECT 指定查询显示的字段;在 WHERE 子句中指定连接条件(连接的字段名前要加上表名做为前缀,表名和字段名之间用“.“隔开);在 FROM 子
42、句中指定要连接的表。查询 2004 年 11月 12 日借阅过图书的读者信息,查询条件应为“WHERE 借书日期=2004-11-12“,因此本题选 B。32.有以下表:读者(借书证号 C, 姓名 C, 单位 C, 性别 L, 职称 C, 联系电话 C)查询单价小于 16 或大于 20 的图书信息,不正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM 图书 WHERE NOT 单价 BETWEEN 16 AND 20B.SELECT * FROM 图书 WHERE 单价 NOT BETWEEN 16 AND 20C.SELECT * FROM 图书 WHERE !单价 B
43、ETWEEN 16 AND 20D.SELECT * FROM 图书 WHERE 单价 !BETWEEN 16 AND 20 解析:解析:BETWEENAND表示在和之间,其中包含等于,即大于等于 AND 前面的数,小于等于AND 后面的数。“!“和“not“表示“不等于“,题干要求查询查询单价小于 16 或大于 20 的图书信息,A、B、C 选项均为正确的 SQL 语句,因此本题选 D。33.有以下表:图书(总编号 C, 分类号 C, 书名 C, 作者 C, 出版单位 C, 单价 N)查询书名中含有“基础“字样的图书信息,正确的 SQL 语句是:(分数:2.00)A.SELECT * FRO
44、M 图书 WHERE 书名 LIKE “*基础*“B.SELECT * FROM 图书 WHERE 书名= “*基础*“C.SELECT * FROM 图书 WHERE 书名 LIKE “%基础%“ D.SELECT * FROM 图书 WHERE 书名= “%基础%“解析:解析:SQL 的基本格式为 SELECT-FROM-WHERE,其中 SELECT 说明要查询的字段,FROM 说明要查询的字段来自哪个表或哪些表,WHERE 说明查询条件。LIKE 为字符串匹配运算符,可与通配符“%“和“_“一起使用。“%“表示与任意多个字符匹配;“_“表示与任意一个字符匹配。查询书名中含有“基础“字样
45、的图书信息可用“LIKE “%基础%“表示,C 选项正确。34.有以下表:图书(总编号 C, 分类号 C, 书名 C, 作者 C, 出版单位 C, 单价 N)查询由“高等教育出版社“和“科学出版社“出版的图书信息,要求同一出版单位出版的图书集中在一起显示,正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM 图书 WHERE 出版单位=“高等教育出版社“ AND 出版单位=“科学出版社“;ORDER BY 出版单位B.SELECT * FROM 图书 WHERE 出版单位 IN(“高等教育出版社“, “科学出版社“);ORDER BY 出版单位 C.SELECT * FRO
46、M 图书 WHERE 出版单位=“高等教育出版社“ AND 出版单位=“科学出版社“;GROUP BY 出版单位D.SELECT * FROM 图书 WHERE 出版单位 IN(“高等教育出版社“, “科学出版社“);GROUP BY 出版单位解析:解析:IN 为特殊运算符,表示在一组值的范围内。本题查询由“高等教育出版社“和“科学出版社“出版的图书信息,要求同一出版单位出版的图书集中在一起显示,A、C、D 的语法错误,本题选 B。35.有以下两个表:借阅(借书证号 C, 总编号 C, 借书日期 D)图书(总编号 C, 分类号 C, 书名 C, 作者 C, 出版单位 C, 单价 N)查询没有任
47、何借阅记录的图书信息,不正确的 SQL 语句是:(分数:2.00)A.SELECT * FROM 图书 WHERE 总编号 ALL (SELECT 总编号 FROM 借阅)C.SELECT * FROM 图书 WHERE 总编号 NOT IN (SELECT 总编号 FROM 借阅)D.SELECT * FROM 图书 WHERE NOT EXISTS (SELECT 总编号 FROM 借阅 WHERE 总编号=图书.总编号)解析:解析:=10B.SELECT 出版单位, COUNT(*) 数量 FROM 图书 GROUP BY 出版单位 HAVING 数量=10 C.SELECT 出版单位,
48、 SUM(*) 数量 FROM 图书 GROUP BY 出版单位 WHERE 数量=10D.SELECT 出版单位, SUM(*) 数量 FROM 图书 GROUP BY 出版单位 HAVING 数量=10解析:解析:查询的基本形式由 SELECT-FROM-WHERE 查询块组成。其中 SELECT 说明要查询的字段, FROM说明要查询的字段来自哪个表或哪些表,WHERE 说明查询条件。SQL 的 SELECT 语句中,HAVING 短语用来限定分组必须满足的条件,因此首先排除 A、C 选项。本题查询图书数量大于等 10 的出版单位,应使用COUNT 函数,因此选 B。37.有以下两个表:
49、借阅(借书证号 C, 总编号 C, 借书日期 D)图书(总编号 C, 分类号 C, 书名 C, 作者 C, 出版单位 C, 单价 N)统计每本图书被借阅的次数,若没被借阅过,则显示次数为 0,正确的SQL 语句是:(分数:2.00)A.SELECT 图书.总编号, 书名, COUNT(*) 次数 FROM 图书 RIGHT JOIN 借阅 ON 图书.总编号=借阅.总编号 GROUP BY 图书.总编号B.SELECT 图书.总编号, 书名, COUNT(*) 次数 FROM 图书 JOIN 借阅 ON 图书.总编号=借阅.总编号 GROUP BY 图书.总编号C.SELECT 图书.总编号, 书名, COUNT(借阅.借书证号) 次数 FROM 图书 LEFT JOIN 借阅 ON 图书.总编号=借阅.总编号 GROUP BY 图书.总编号 D.SELECT 图书.总编号, 书名, COUNT(借阅.借书证号) 次数 FROM 图书 JOIN 借阅 ON 图书.总编号=借阅.总编号 GROUP BY 图书.总编号解析:解析:本题主要考查超链接查询,超链接查询有四种