单选题
(31)~(35)题使用下列数据表。
部门
(部门号C(2)、部门名称C(10))
职工
(部门号C(2)、职工号C(4)、姓名C(8)、基本工资N(7,2))
单选题
检索有职工的基本工资大于或等于“11”部门中任意一名职工工资的“部门号”,正确的命令是,( )。
- A. SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ANY; (SELECT 基本工资 FROM 职工 WHERE
部门号="11")
- B. SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ALL; (SELECT 基本工资 FROM 职工 WHERE
部门号="11")
- C. SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ANY; (SELECT MAX(基本工资) FROM 职工
WHERE 部门号="11")
- D. SELECT DISTINCT 部门号 FROM 职工 WHERE 基本工资>=ALL; (SELECT MIN(基本工资) FROM 职工
WHERE 部门号="11")
【正确答案】
B
【答案解析】[解析] 在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为:
<表达式><比较运算符>[ANY|ALL|SOME](子查询)
其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。
本题中要求检索有职工的基本工资大于或等于“11”部门中任意一名职工的工资的部门号,等价于其他部门职工的基本工资有大于或等于“11”部门中所有职工的工资,因此要使用ALL短语。选项C)和 D)的属于语法错误,SQL不支持此类型查询。
单选题
检索最少有5名职工的每个部门的职工基本工资的总额( )。
- A. SELECT 部门号,COUNT(*),SUM(基本工资) FROM 职工; HAVING COUNT(*)>=5
- B. SELECT 部门号,COUNT(*),SUM(基本工资) FROM 职工; GROUP BY 基本工资 HAVING
COUNT(*)>=5
- C. SELECT 部门号,COUNT(*),SUM(基本工资) FROM 职工; GROUP BY 部门号 HAVING
COUNT(*)>=5
- D. SELECT 部门号,COUNT(*),SUM(基本工资) FROM 职工; GROUP BY 部门号 WHERE
COUNT(*)>=5
【正确答案】
C
【答案解析】[解析] 在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING子句必须与GROUP BY短语同时使用。
本题中先由GROUP BY子句按“部门号”对记录行进行分组;再执行COUNT()函数统计每组中有多少个记录,执行SUM()函数计算每个组的基本工资总和;最后执行HAVING子句,只有记录总数大于等于5的组才输出结果,即部门职工在5名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该部门的部门号、总人数和职工工资总和。
单选题
向职工表中插入一条记录,正确的命令是( )。
- A. APPEND BLANK 职工 VALUES("33","3305","李运来","2700.00")
- B. APPEND INTO 职工 VALUES("33","3305","李运来",2700.00)
- C. INSERT INTO 职工 VALUES("33","3305","李运来","2700.00")
- D. INSERT INTO 职工 VALUES("33",”3305","李运来",2700.00)
【正确答案】
D
【答案解析】[解析] Visual FoxPro支持两种SQL插入格式,第一种为标准格式,第二种是Visual FoxPro的特殊格式。
第一种格式为:
INSERT INTO<表名>[(字段名1[,字段名2,…];
VALUES(表达式1[,表达式2,…])
其中INSERT INTO<表名>说明向指定的表中插入记录。当插入的不是完整的记录时,可以用字段名1,字段名2….指定字段;VALUE(表达式1[,表达式2,…给出具体的记录值。
插入记录时,要注意插入的数据的类型与其字段类型要相同,本题中成绩为数值型数据,不能加字符串定界符(""):选项A)和选项B)的语法错误。
单选题
为“部门”表增加一个“人数”字段,类型为整型,正确的命令是( )。
- A. ALTER TABLE 部门 ALTER 人数 I
- B. ALTER TABLE 部门 ALTER FIELDS 人数 I
- C. ALTER TABLE 部门 ADD 人数 I
- D. ALTER TABLE 部门 ADD FIELDS 人数 I
【正确答案】
C
【答案解析】[解析] 利用SQL命令可以对基本表的结构进行修改,可以利用以下命令为表新增字段:
ALTER TABLE<表名>
ADD[COLUMN][<字段名1><字段类型>[(<长度>[,<小数位数>])]
在SQL语句中,给表增加字段的短语是ADD COLUMN,而不是ADDFIELDS,其中COLUMN短语可以省略,另外,ALTER是用来修改已有的字段,不能新增一个字段。
单选题
检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”,正确的命令是( )。
- A. SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; ORDER BY 部门号
- B. SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; GROUP BY 部门号
- C. SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; ORDRE BY
职工.部门号
- D. SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; GROUP BY
职工.部门号
【正确答案】
D
【答案解析】[解析] 进行SQL简单计算查询时,还可以加上 GROUP BY子句进行分组计算查询。
通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。
本题通过“GROUP BY 职工.部门号”可以先将记录按“部门号”分组,然后再通过函数“SUM(基本工资)”对每组记录求和;另外,在指定分组条件时,因为两个表中都存在相同的字段,即“部门号”,因此要指定分组的字段来自哪个数据表,否则系统出现“部门号不唯一”的错误提示;ORDER BY是对查询结果进行排序的短语,没有分组的功能。
单选题
要想对一个打开的数据库增加新宇段,应当使用命令( )。
- A. APPEND
- B. MODIFY STRUCTURE
- C. INSERT
- D. CHANGE
单选题
有如下程序:
SET TALK OFF
DIMENSION
K(2,3)
I=1
D0 WHILE I<=2
J=1
DO WHILE J<=3
K(1,J)-I*J
??K(I,J)
??” ”
J=J/1
ENDDO
?
I=I+1
ENDDO
RETURN
运行此程序的结果是( )。
- A. 1 2 3 4 5 6
- B. 1 2 3 2
- C. 1 2 3 1 2 3
- D. 1 2 3 1 4 9
单选题
Visual FoxPro关系数据库管理系统能够实现的3种基本关系运算是 ______。
- A. 索引、排序、查找
- B. 建库、录入、排序
- C. 选择、投影、连接
- D. 显示、统计、复制
【正确答案】
C
【答案解析】[解析] 数据库管理系统的基本概念
[评析] 关系数据库管理系统能够实现的3种基本关系运算是选择(从关系中找出满足给定条件的元组的操作),投影(从关系模式中指定若干个属性组成新的关系),连接(是关系的横向组合)。
单选题
在程序中不需要用public等命令明确声明和建立,可直接使用的内存变量是
- A. 局部变量
- B. 公共变量
- C. 私有变量
- D. 全局变量
【正确答案】
C
【答案解析】[解析] 私有变量在程序中直接使用,无需使用PUBLIC和LOCAL命令事先声明,是由系统自动隐含建立的变量。因此选项c为正确答案。局部变量通过LOCAL命令来声明,公共变量通过PUBLIC来声明。
单选题
在SQL中,删除视图用 ______。
- A. DROP SCHEMA命令
- B. CREATE TABLE命令
- C. DROP VIEW命令
- D. DROP INDEX命令
【正确答案】
C
【答案解析】[解析]
[评析] 视图由于是从表中派生出来的,所以不存在修改结构的问题,但是视图可以删除。删除视图的命令格式是:
DROP VIEW<视图名>
单选题
在当前目录下有数据库文件xsdak,数据库中有表文件stu.dbf,执行如下SQL语句 SELECT*FROM student INTO
DBF xsdak ORDER BY学号后,______。
- A.生成一个按“学号”升序的表文件xsdak.dbf
- B.生成一个按“学号”降序的表文件xsdak.dbf
- C.生成一个新的数据库文件xsdak.dbc
- D.系统提示出错信息
单选题
有如下程序:
INPUT TO A1
IF
A1=10
B1=0
ENDIF
B1=1
? B1
假定从键盘输入的A的值一定是数值型,那么上面条件选择程序的执行结果是
【正确答案】
B
【答案解析】本题中:若IF条件成立,则先执行B1=0,后执行B1=1;若IF条件不成立,则直接执行B1=1。所以IF条件成立与否,最后都执行B1=1语句,即B1的值为1。
单选题
下列4项中说法不正确的是
- A. 数据库减少了数据冗余
- B. 数据库中的数据可以共享
- C. 数据库避免了一切数据的重复
- D. 数据库具有较高的数据独立性
【正确答案】
C
【答案解析】[解析] 数据库系统具有以下几个特点,一是数据的集成性、二是数据的高共享性与低冗余性、三是数据的独立性、四是数据统一管理与控制。