2014年全国计算机等级《二级VF》全真模拟试卷(12)
-
(1)在考生文件夹下,将BOOKS表内所有书名中含有“计算机”3个字的图书信息复制到BOOKS_BAK表中,以下操作均在BOOKS_BAK表中完成;
(2)将复制后的图书价格在原价格的基础上降低5%;
(3)从图书均价高于25元(含25)的出版社中,查询均价最低的出版社并显示其名称及均价,查询结果保存在new_table4表中(字段名为出版单位和均价)。
-
1.在考生文件夹下建立数据库Bookauth.DBC,把表books和authors添加到该数据库中。
2.为authors表建立主索引。索引名为“pk”,索引表达式为“作者编号”。
3.为books表建立两个普通索引。第一个索引名为“pk”,索引表达式为“图书编号”;第二个索引名和索引表达式均为“作者编号”。
4.建立authors表和books表之间的永久联系。
-
在考生文件夹下完成如下简单应用。
1.打开表单myform4-4,把表单(名称为Forml)标题改为“欢迎您”,将文本“欢迎您访问系统”(名称为 Labell的标签)改为25号黑体。最后在表单上添加“关闭”(名称为Command1)命令按钮,单击此按钮可实现关闭表单。
保存并运行表单。
2.设计一个表单myform4,表单中有两个命令按钮“查询”和“退出”(名称分别为Command1和Command2)。
(1)单击“查询”命令按钮,查询BOOKAUTH数据库中出版过3本以上(含3本)图书的作者的信息,查询信息包括作者姓名和所在城市,查询结果按作者姓名升序保存在表NEW_VIEW4中。
(2)单击“退出”命令按钮关闭表单。
注意:完成表单设计后要运行表单的所有功能。
-
下列与创建表结构相关的命令是( )。
- A.CREATE
- B.ALTER
- C.UPDATE
- D.INSERT
-
在用SQL语句建立数据表时,给字段属性定义默认值,应使用短语( )。
- A.FREE
- B.KEY
- C.UNIQUE
- D.DEFAULT
-
当前工资表中有100条记录,当前记录号为10,用MAX命令计算工资最大值时,若缺省[范围]短语条件,则系统将( )。
- A.只计算当前记录的工资值
- B.计算10条记录的最大工资值
- C.计算后90条记录的最大工资值
- D.计算全部记录的最大工资值
-
AT(”EN”,RIGHT(”STUDENT”,4))的执行结果是( )。
- A.1
- B.2
- C.3
- D.4
-
下列叙述中,正确的是( )。
- A.用E—R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系
- B.用E—R图只能表示实体集之间一对一的联系
- C.用E—R图只能表示实体集之间一对多的联系
- D.用E—R图表示的概念数据模型只能转换为关系数据模型
-
数据库管理系统中负责数据模式定义和数据的物理存取构建的语言是( )。
- A.数据定义语言
- B.数据管理语言
- C.数据操纵语言
- D.数据控制语言
-
查询2001年所签订单的信息,并按金额降序排序,正确的SQL命令是( )。
- A.SELECT*FROM订单WHERE YEAR(签订日期)=2001 0RDER BY金额DESC
- B.SELECT*FROM订单WHILE YEAR(签订日期)=2001 0RDER BY金额ASC
- C.SELECT*FROM订单WHERE YEAR(签订日期)=2001 0RDER BY金额ASC
- D.SELECT*FROM订单WHILE YEAR(签订日期)=20010RDER BY金额DESC
-
查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是( )。
- A.SELECT职员号FROM订单GROUP BY职员号HAYING COUNT(*)>3 AND AVG_金额>200
- B.SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND AVG(金额)>200
- C.SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND WHERE AVG(金额)>200
- D.SELECT职员号FROM订单GROUP BY职员号WHERE COUNT(*)>3 AND AVG_金额>200
-
有以下SQL语句:
SELECT订单号.签订日期,金额FROM订单,职员
WHERE订单.职员号=职员.职员号AND姓名=”王五”
与如上语句功能相同的SQL语句是( )。
- A.SELECT订单号,签订日期,金额FROM订单 WHERE EXISTS(SELECT*FROM职员WHERE姓名=”王五”)
- B.SELECT订单号,签订日期,金额FROM订单WHEREEXISTS(SELECT书FROM职员WHERE职员号=订单.职员号AND姓名=”王五”)
- C.SELECT订单号,签订日期,金额FROM订单 WHERE IN(SELECT职员号FROM职员WHERE姓名=”李二”)
- D.SELECT订单号,签订日期,金额FROM订单WHEREIN(SELECT职员号FROM职员WHERE职员号=订单.职员号AND姓名=”王五”)
-
查询2010年1月1日后签订的订单,并显示订单的订单号、客户名及签订日期,正确的SQL语句是( )。
- A.SELECT订单号,客户名,签订日期FROM订单JOIN客户0N订单.客户号=客户.客户号WHERE 签订日期>{^2010—1—1}
- B.SELECT订单号,客户名,签订日期FROM订单JOIN客户WHERE订单.客户号=客户.客户号AND 签订日期>{^2010—1—1}
- C.SELECT订单号,客户名,签订日期FROM订单,客户WHERE订单.客户号=客户.客户号AND签订日期<{^2010—1—1}
- D.SELECT订单号,客户名,签订日期FROM订单,客户ON订单.客户号=客户.客户号AND签订日期<{^2010—1—1}
-
以下关于“视图”的描述,错误的是( )。
- A.视图保存在数据库中
- B.视图不可更新
- C.视图可以删除
- D.视图物理上不包含数据
-
根据下表,回答下列各题:
职员.DBF:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)
客户.DBF:客户号C(4),客户名C(36),地址C(36),所在城市C(36)
订单.DBF:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)
从订单表中查询金额大于10000元的订单号,正确的命令是( )。
- A.SELECT金额>10000 FROM订单FOR订单号
- B.SELECT订单号FROM订单FOR金额>10000
- C.SELECT金额>10000 FROM订单WHERE订单号
- D.SELECT订单号FROM订单WHERE金额>10000
-
在Visual FoxPro中,关于查询和视图描述正确的是( )。
- A.查询是一个预先定义好的SQL SELECT语句文件
- B.视图是一个预先定义好的SQL SELECT语句文件
- C.查询和视图是同一种文件,只是名称不同
- D.查询和视图都是一个存储数据的表
-
有一个记录学生信息的表单,表单名为FormStudent,该表单中含有一个页框PgStudentlnfo,将该页框的第2页(PageFamily)的标题设置为“家庭成员”的代码是( )。
- A.FormStudent.PageFamily.Caption=”家庭成员”
- B.FormStudent.PgStudentlnfo.Title=”家庭成员”
- C.Thisforill.PgStudentInfo.PageFamily.Caption=”家庭成员”
- D.Thisform.PgStudentlnfo.PageFamily.Tide=”家庭成员”
-
执行USE SC IN 0命令的结果是( )。
- A.选择0号工作区打开SC表
- B.选择空闲的最小号工作区打开SC表
- C.选择第1号工作区打开sc表
- D.显示出错信息
-
数据库系统的核心是( )。
- A.数据库
- B.数据库管理系统
- C.数据库管理员
- D.数据库应用系统
-
下列数据结构中,能用二分法进行查找的是( )。
- A.顺序存储的有序线性表
- B.线性链表
- C.二叉链表
- D.有序线性链表
-
使用如下三个表
部门.dbf:部门号C(8),部门名C(12),负责人C(8)
职工.dbf:职工号C(10),部门号C(8),姓名C(8),性别C(2),出生日期D(8)
工资.dbf:职工号C(10),基本工资N(8,2),津贴N(8,2),奖金N(8,2),扣除N(8,2)
查询职工表中“王忠”的情况,将查询结果放在数组A中,应使用的SQL语句是( )。
- A.SELECT*FROM职工WHERE姓名=”王忠”INTO ARRAY A
- B.SELECT*FROM职工INTO ARRAY A WHERE姓名=”王忠”
- C.SELECT*FROM职工WHERE姓名=”王忠”TO ARRAY A
- D.SELECT*FROM职工WHERE姓名=”王忠”TO A
-
下列叙述中正确的是( )。
- A.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
- B.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
- C.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
- D.顺序存储结构能存储有序表,链式存储结构不能存储有序表
-
执行以下命令,输出结果是( )。
SET EXACT OFF A=”计算机”
B=”计算机等级考试” ?A=B
- A.计算机
- B.等级考试
- C..T.
- D..F.
-
使用如下三个表
部门.dbf:部门号C(8),部门名C(12),负责人C(8)
职工.dbf:职工号C(10),部门号C(8),姓名C(8),性别C(2),出生日期D(8)
工资.dbf:职工号C(10),基本工资N(8,2),津贴N(8,2),奖金N(8,2),扣除N(8,2)
查询基本工资在1000至2000(含)之间职工的职工号和基本工资,正确的SQL语句是( )。
- A.SELECT职工号,基本工资FROM工资WHERE基本工资BETWEEN l000 AND 2000
- B.SELECT职工号,基本工资FROM工资WHERE基本工资>=1000 0R基本工资<=2000
- C.SELECT职工号,基本工资FROM工资WHERE基本工资>=1000 0R<=2000
- D.SELECT职工号,基本工资FROM工资WHERE基本工资>=1000 AND<=2000
-
使用如下三个表
部门.dbf:部门号C(8),部门名C(12),负责人C(8)
职工.dbf:职工号C(10),部门号C(8),姓名C(8),性别C(2),出生日期D(8)
工资.dbf:职工号C(10),基本工资N(8,2),津贴N(8,2),奖金N(8,2),扣除N(8,2)
查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排列。正确的命令是( )。
- A.SELECT部门名,COUNT(职工号)AS职工人数;FROM部门,职工WHERE部门.部门号=职工.部门号; GROUP BY部门名HAVING COUNT(*)>=10;ORDER BY COUNT(职工号)ASC
- B.SELECT部门名,COUNT(职工号)AS职工人数;FROM部门,职工WHERE部门.部门号=职工。部门号; GROUP BY部门名HAVING COUNT(*)>=10;ORDER BY COUNT(职工号)DESC
- C.SELECT部门名,COUNT(职工号)AS职工人数;FROM部门,职工WHERE部门.部门号=职工.部门号; GROUP BY部门名HAVING COUNT(*)>=10ORDER BY职工人数ASC
- D.SELECT部门名,COUNT(职工号)AS职工人数;FROM部门,职工WHERE部门.部门号=职工.部门号; GROUP BY部门名HAVING COUNT(*)>=10ORDER BY职工人数DESC
-
使用如下三个表
部门.dbf:部门号C(8),部门名C(12),负责人C(8)
职工.dbf:职工号C(10),部门号C(8),姓名C(8),性别C(2),出生日期D(8)
工资.dbf:职工号C(10),基本工资N(8,2),津贴N(8,2),奖金N(8,2),扣除N(8,2)
查询每个部门年龄最长者的信息,要求包括所在部门名和最长者的出生日期。正确的命令是( )。
- A.SELECT部门名,MIN(出生日期)FROM部门JOIN职工;ON部门.部门号=职工.部门号GROUP BY部门号
- B.SELECT部门名,MAX(出生日期)FROM部门JOIN职工;ON部门.部门号=职工.部门号GROUP BY部门号
- C.SELECT部门名,MIN(出生Et期)FROM部门JOIN职工; WHERE部门.部门号=职工.部门号GROUP BY部门号
- D.SELECT部门名,MAX(出生Et期)FROM部门JOIN职工; WHERE部门.部门号=职工.部门号GROUP BY部门号
-
使用如下三个表,回答下列各题:
部门.dbf:部门号C(8),部门名C(12),负责人C(8)
职工.dbf:职工号C(10),部门号C(8),姓名C(8),性别C(2),出生日期D(8)
工资.dbf:职工号C(10),基本工资N(8,2),津贴N(8,2),奖金N(8,2),扣除N(8,2)
查询职工实发工资的正确命令是( )。
- A.SELECT姓名,(基本工资+津贴+奖金一扣除)As实发工资FROM工资
- B.SELECT姓名,(基本工资+津贴+奖金一扣除)As实发工资FROM工资; WHERE职工.职工号=工资.职工号
- C.SELECT姓名,(基本工资+津贴+奖金一扣除)AS实发工资; FROM工资,职工WHERE职工.职工号=工资.职工号
- D.SELECT姓名,(基本工资+津贴+奖金一扣除)AS实发工资; FROM工资JOIN职工WHERE职工.职工号=工资.职工号
-
下面有关表单控件基本操作的陈述中,错误的是( )。
- A.要在“表单控件”工具栏中显示某个类库文件中自定义类,可以单击表单控件工具栏中的“查看类”按钮,然后在弹出的菜单中选择“添加”命令
- B.要在表单中移动某个控件,可以按住Shift键并拖动该控件
- C.要使表单中所有被选控件具有相同的大小,可单击“布局”工具栏中的“相同大小”按钮
- D.要设置Tab键的次序,可以以交互方式和列表两种方式设置
-
在SQL SELECT中,为了对查询结果排序应该使用短语( )。
- A.DESC
- B.HAVING
- C.ORDER BY
- D.GROUP BY
-
现有一程序文件myproject.prg,执行这个程序的命令是( )。
- A.OPEN myproject.prg
- B.RUN Project myproject.prg
- C.DO FORM. myproject.prg
- D.DO myproject.prg
-
设有如下关系表
则下列操作中,正确的是( )。
- A.T=RnS
- B.T=RuS
- C.T=RxS
- D.T=R/S
-
在Visual FoxPro中,用于建立或修改程序文件的命令是( )。
- A.MODIFY<文件名>
- B.MODIFY COMMAND<文件名>
- C.MODIFY PROCEDURE<文件名>
- D.上面B和C都对
-
数据表中有50个记录,如果当前记录为第50条记录,把记录指针向下移动一位,使用EOF( )函数的值是( )。
- A.5
- B.50
- C..T.
- D..F.
-
下面表单及控件常用事件中,与鼠标操作有关的是( )。
- A.Click
- B.DblClick
- C.RightClick
- D.以上3项都是
-
表达式VAL(SUBSTR(”i5处理器”,2,1))%Len(”ms visual foxPro”)的结果是( )。
- A.5.00
- B.16.00
- C.21.00
- D.80.00
-
下列程序实现的功能是( )。
USE奖牌表
DO WHILE NOT EOFIF奖牌数>=10
SKIP
L00P
ENDIF
DISPLAY
SKIP
ENDDO
DO
USE
- A.显示所有奖牌数多于或等于10的记录
- B.显示所有奖牌数少于10的记录
- C.显示第一条奖牌数多于或等于10的记录
- D.显示第一条奖牌数少于10的记录
-
设A=2011*2-2010,B=2011*2-2010、C=[2011*2-2010],属于合法表达式的是( )。
- A.A+B
- B.B+C
- C.A-C
- D.C-B
-
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1))
插入一条记录到“选课”表中,学号、课程号和成绩分别是“09080001”、“001”和80,正确的SQL语句是( )。
- A.INSERT INT0选课(学号,课程号,成绩)FROM VALUES(”09080001”,”001”,80)
- B.INSERT INT0选课VALUES(”09080001”,”001”,80)
- C.INSERT VALUES(”09080001”,”001”,80)T0选课(学号,课程号,成绩)
- D.INSERT VALUES(”09080001”,”001”,80)INT0选课(学号,课程号,成绩)
-
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1))
将学号为“09080001”、课程号为“002”的选课记录的成绩改为92,正确的SQL语句是( )。
- A.UPDATE FROM选课SET成绩WITH 92 FOR学号=”09080001”AND课程号=”002”
- B.UPDATE FROM选课SET成绩=92 FOR学号=”09080001”AND课程号=”002”
- C.UPDATE选课SET成绩WITH 92 WHERE学号=”09080001”AND课程号”002”
- D.UPDATE选课SET成绩=92 WHERE学号=”09080001”AND课程号=”002”
-
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1))
查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是( )。
- A.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=”007”AND成绩 >=ALL(SELECT成绩FROM选课)
- B.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩 >=ALL(SELECT成绩FROM选课WHERE课程号=”007”)
- C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩 >=ANY(SELECT成绩FROM选课WHERE课程号=”007”)
- D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=”007”AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=”007”)
-
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1))
假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“007"课程的平均成绩,正确的SQL语句是( )。
- A.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007” GROUP BY专业
- B.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007” GROUP BY 1
- C.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007”OR—DER BY专业
- D.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007”OR—DER RY 1
-
根据下表,回答下列各题:
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1))
查询所有1988年9月10日(含)以后出生、性别为女的学生,正确的SQL语句是( )。
- A.SELECT*FROM学生WHERE出生日期>={^1988—09—10}AND性别=”女”
- B.SELECT*FROM学生WHERE出生日期<={^1988—09—10}AND性别=”女”
- C.SELECT*FROM学生WHERE出生日期>={^1988—09—10}OR性别=”女”
- D.SELECT*FROM学生WHERE出生日期<={^1988—09—10}OR性别=”女”
-
从student表删除年龄大于30的记录的正确SQL命令是( )。
- A.DELETE FOR年龄>30
- B.DELETE FROM student WHERE年龄>30
- C.DELETE student FOR年龄>30
- D.DELETE student WHERE年龄>30