(1)如果要查询所藏图书中,各个出版社图书的最高单价、平均单价和册数,所用的SQL语句是
A)SELECT 出版单位,MAX(单价),AVG(单价),COUNT(*);
FROM 图书;
GROUP BY 出版单位
B)SELECT 出版单位,MAX(单价),AVG(单价),COUNT(*);
FROM 图书;
HAVING 出版单位
C)SELECT 出版单位,MAX(单价),AVG(单价),COUNT(*);
FROM 图书
GROUP BY 出版单位
D)SELECT 出版单位,MIN(单价), AVG(单价),COUNT(*);
FROM 图书;
HAVING 出版单位
(2)为"运动员"表增加一个字段"得分"的SQL语句是
A)CHANGE TABLE运动员ADD得分I
B)ALTER DATA运动员ADD得分I
C)ALTER TABLE运动员ADD得分I
D)CHANGE TABLE运动员IN得分I
(3)利用SQL数据更新功能,自动计算更新每个"设备总金额"字段的字段值,该字段值等于"单价*设备数量"的值,正确命令为
A)UPDATE 设备表 SET 设备总金额=单价*设备数量
B)UPDATE 设备表 FOR 设备总金额=单价*设备数量
C)UPDATE 设备表 WITH 设备总金额=单价*设备数量
D)UPDATE 设备表 WHERE 设备总金额=单价*设备数量
(4)查找教师表中教师最高的工资值,下列SQL语句正确的是
A)SELECT MAX(工资) FROM 教师表
B)SELECT MIN(工资) FROM 教师表
C)SELECT AVG(工资) FROM 教师表
D)SELECT SUM(工资) FROM 教师表
(5)在当前目录下有数据表文件student.dbf,执行如下SQL语句后
SELECT * FORM student INTO DBF student ORDER BY 学号/D
A)生成一个按"学号"升序的表文件,将原来的student.dbf文件覆盖
B)生成一个按"学号"降序的表文件,将原来的student.dbf文件覆盖
C)不会生成新的排序文件,保持原数据表内容不变
D)系统提示出错信息
(6)语句"DELETE FROM 成绩表 WHERE 计算机<60"的功能是
A)物理删除成绩表中计算机成绩在60分以下的学生记录
B)物理删除成绩表中计算机成绩在60分以上的学生记录
C)逻辑删除成绩表中计算机成绩在60分以下的学生记录
D)将计算机成绩低于60分的字段值删除,但保留记录中其它字段值
(7)检索职工表中工资大于800元的职工号,正确的命令是
A)SELECT 职工号 WHERE 工资>800
B)SELECT 职工号 FROM 职工 SET 工资>800
C)SELECT 职工号 FROM 职工 WHERE 工资>800
D)SELECT 职工号 FROM 职工 FOR 工资>800
(8)下列选项中,不属于SQL数据定义功能的是
A)SELECT
B)CREATE
C)ALTER
D)DROP
(9)有"工资"表和"职工"表,结构如下:
职工.dbf:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D
工资.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职工.职工号=工资.职工号
(10)从设备表中查询单价大于100000元的设备,并显示设备名称,正确的命令是
A)SELECT 单价>100000 FROM 设备表 FOR 设备名称
B)SELECT 设备名称 FROM 设备表 FOR 单价>100000
C)SELECT 单价>100000 FROM 设备表 WHERE 设备名称
D)SELECT 设备名称 FROM 设备表 WHERE 单价>100000
(11)下列命令动词中,不具有数据操纵功能的SQL语句是
A)DELETE
B)UPDATE
C)INSERT
D)DROP
(12)显示2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期。正确的SQL语句是
A)SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户 ON 订单.客户号=客户.客户号 WHERE 签订日期>{^2005-1-1}
B)SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户 WHERE 订单.客户号=客户.客户号 AND 签订日期>{^2005-1-1}
C)SELECT 订单号,客户名,签订日期 FROM 订单,客户 WHERE 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}
D)SELECT 订单号,客户名,签订日期 FROM 订单,客户 ON 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}
(13)有"部门表"和"职工表内容如下:
部门.dbf:部门号C(8),部门名C(12),负责人C(6),电话C(16)
职工.dbf:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D
查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期。正确的命令是
A)SELECT 部门名,MIN(出生日期) FROM 部门 JOIN 职工;
ON 部门.部门号=职工.部门号 GROUP BY 部门号
B)SELECT 部门名,MAX (出生日期) FROM 部门 JOIN 职工;
ON 部门.部门号=职工.部门号 GROUP BY 部门号
C)SELECT 部门名,MIN (出生日期) FROM 部门 JOIN 职工;
WHERE 部门.部门号=职工.部门号 GROUP BY 部门号
D)SELECT 部门名,MAX (出生日期) FROM 部门 JOIN 职工;
WHERE 部门.部门号=职工.部门号 GROUP BY 部门号
(14)查询借阅了两本和两本以上图书的读者姓名和单位,应使用SQL语句
A)SELECT 姓名,单位 FROM 读者;
WHERE 借书证号 IN;
(SELECT 借书证号 FROM 借阅;
GROUP BY 借书证号 HAVING COUNT(*)>=2)
B)SELECT 姓名,单位 FROM 读者;
WHERE 借书证号 EXISTS;
(SELECT 借书证号 FROM借阅;
GROUP BY 借书证号 HAVING COUNT(*)>=2)
C)SELECT 姓名,单位 FROM 读者;
WHERE 借书证号 EXISTS;
(SELECT 借书证号 FROM 借阅;
GROUP BY 借书证号 WHERE COUNT (*)>=2)
D)SELECT 姓名,单位 FROM 读者;
WHERE 借书证号 IN;
(SELECT 借书证号 FROM 借阅;
GROUP BY 借书证号 WHERE COUNT (*)>=2)
(15)嵌套查询命令中的IN,相当于
A)等号=
B)集合运算符
C)加号+
D)减号-
(16)有"部门表"和"商品表"的内容如下:
部门.dbf:部门号C(8),部门名C(12),负责人C(6),电话C(16)
职工.dbf:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D
查询有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(*)>=10
ORDER BY职工人数ASC
D)SELECT 部门名,COUNT(职工号) AS 职工人数;
FROM 部门,职工 WHERE 部门.部门号=职工.部门号;
GROUP BY 部门名 HAVING COUNT(*)>=10
ORDER BY 职工人数 DESC
(17)语句"DELETE FROM 成绩表 WHERE 计算机<60"功能是
A)物理删除成绩表中计算机成绩在60分以下的学生记录
B)物理删除成绩表中计算机成绩在60分以上的学生记录
C)逻辑删除成绩表中计算机成绩在60分以下的学生记录
D)将计算机成绩低于60分的字段值删除,但保留记录中其他字段值
(18)为设备表增加一个"设备总金额N(10,2)"字段,正确的命令是
A)ALTER TABLE 设备表 ADD FIELDS 设备总金额 N(10,2)
B)ALTER TABLE 设备表 ADD 设备总金额 N(10,2)
C)ALTER TABLE 设备表 ALTER FIELDS 设备总金额 N(10,2)
D)ALTER TABLE 设备表 ALTER 设备总金额 N(10,2)
(19)下列关于SQL对表的定义的说法中,错误的是
A)利用CREATE TABLE语句可以定义一个新的数据表结构
B)利用SQL的表定义语句可以定义表中的主索引
C)利用SQL的表定义语句可以定义表的域完整性、字段有效性规则等
D)对于自由表的定义,SQL同样可以实现其完整性、有效性规则等信息的设置
(20)有如下SQL语句:
SELECT * FROM 仓库 WHERE 仓库号="H1";
UNION;
SELECT * FROM 仓库 WHERE 仓库号="H2"
该语句的功能是
A) 查询在H1或者H2仓库中的职工信息
B) 查询仓库号H1或者H2的仓库信息
C) 查询既在仓库号H1,又在仓库号H2工作的职工信息
D) 语句错误,不能执行
(21)SELECT-SQL语句中,条件短语的关键字是
A)FOR
B)FROM
C)WHERE
D)WITH
(22)查询没有借阅图书的读者的姓名和借书证号,应使用SQL语句
A)SELECT 姓名 FROM 读者 WHERE NOT EXISTS;
(SELECT 借书证号 FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
B)SELECT 姓名,借书证号 FROM 读者 WHERE
(SELECT *FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
C)SELECT 姓名,借书证号 FROM 读者 WHERE NOT EXISTS;
(SELECT *FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
D)SELECT 姓名,借书证号 FROM 读者 WHERE 借阅=NULL
(SELECT *FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
(23)向职工表中插入一条记录,正确的命令是
有职工表如下:
职工表(部门号N(4)、职工号C(4)、姓名C(8)、工资N(7,2))
A)APPEND BLANK 职工表 VALUES("1111王明
B)APPEND INTO 职工表 VALUES("1111王明",1500.00)
C)INSERT INTO 职工表 VALUES("1111王明
D)INSERT INTO 职工表 VALUES("1111王明",1500.00)
(24)在SQL语句中,与表达式"工资 BETWEEN 1000 AND 1500"功能相同的表达式是
A)工资<=1000 AND 工资>=1500
B)工资<=1500 AND 工资>=1000
C)工资<=1000 OR 工资>=1500
D)工资<=1500 OR 工资>=10000
(25)有如下SQL语句:
SELECT 班级名称 FROM 班级表 WHERE NOT EXISTS;
(SELECT * FROM 学生表 WHERE 班级号=班级表.班级号)
执行该语句后,班级名称的字段值是
A)03计算机一班
B)03计算机二班
C)03计算机三班
D)03计算机一班和03计算机二班
(26)有如下SQL-SELECT语句
SELECT * FROM HH WHERE 单价 BETWEEN 10.6 AND 13.4
与该语句等价的是
A)SELECT * FROM HH WHERE 单价<=13.4 AND 单价>=10.6
B)SELECT * FROM HH WHERE 单价<13.4 AND 单价>10.6
C)SELECT * FROM HH WHERE 单价>=13.4 AND 单价<=10.6
D)SELECT * FROM HH WHERE 单价>13.4 AND 单价<10.6
(27)有如下SQL语句:
SELECT 姓名,MAX(工资) AS 工资 FROM 教师表 GROUP BY 系号
该语句的作用是
A)检索出所有教师中工资最高的教师的姓名和工资
B)检索出各系教师中工资最高的教师的姓名和工资
C)检索出所有教师中工资最低的教师的姓名和工资
D)检索出各系教师中工资最低的教师的姓名和工资
(28)若在教师表中查找还没有输入工龄的记录,使用的SQL语句为
A)SELECT * FROM 教师 WHERE 工龄IS NOT NULL
B)SELECT * FROM 教师 WHERE 工龄=0
C)SELECT * FROM 教师 WHERE 工龄 IS NULL
D)SELECT * FROM 教师 WHERE 工龄=NULL
(29)有班级表和学生表如下:
班级表 班级号 班级名称 班级人数
200301 03计算机一班 55
200302 03计算机二班 48
200303 03计算机三班 50
学生表 班级号 学号 姓名 性别 籍贯
200301 1001 王伟 男 北京
200301 1002 刘红 女 上海
200301 1003 李林 女 北京
200302 2001 张清 女 上海
200302 2002 刘雷 男 上海
有如下SQL语句:
SELECT班级名称,姓名,性别 FROM 班级表,学生表;
WHERE班级表.班级号=学生表.班级号;
AND 籍贯="上海" AND 性别="女";
ORDER BY 班级名称 DESC
执行该语句后,查询结果有几条记录,且第一条记录的学生姓名是
A)1 李林
B)2 张清
C)2 刘红
D)3 张清
(30)使用如下的3个数据表:学生、课程和成绩。
学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8))
课程(课程编号 C(8),课程名称 C(20))
成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))
查询每门课程的最高分,要求得到的信息包括课程名和最高分,正确的命令是
A)SELECT 课程.课程名称, MAX(成绩) AS 最高分 FROM 成绩,课程;
WHERE 成绩.课程编号 = 课程.课程编号;
GROUP BY 课程.课程编号
B)SELECT 课程.课程名称, MAX(成绩) AS 最高分 FROM 成绩,课程;
WHERE 成绩.课程编号 = 课程.课程编号;
GROUP BY 课程编号
C)SELECT 课程.课程名称, MIN(成绩) AS 最高分 FROM 成绩,课程;
WHERE 成绩.课程编号 = 课程.课程编号;
GROUP BY 课程.课程编号
D)SELECT 课程.课程名称, MIN(成绩) AS 最高分 FROM 成绩,课程;
WHERE 成绩.课程编号 = 课程.课程编号;
GROUP BY 课程编号
(31)给出在车间"W1"或"W2"工作,并且工资大于3000的职工姓名,正确的命令是
A)SELECT 姓名 FROM 车间
WHERE 工资>3000 AND 车间="W1" OR 车间="W2"
B)SELECT 姓名 FROM 车间
WHERE 工资>3000 AND (车间="W1" OR 车间="W2")
C)SELECT 姓名 FROM 车间;
WHERE 工资>3000 OR 车间="W1" OR 车间="W2"
D)SELECT 姓名 FROM 车间;
WHERE 工资>3000 AND (车间="W1" OR 车间="W2")
(32)对于图书管理数据库,求人民邮电出版社出版图书的最高单价、最低单价和平均单价。下面SQL语句横线部分,命令正确的是
SELECT FROM 图书;
WHERE 出版单位="人民邮电出版社"
设有图书管理数据库中包含以下表:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
A)MAX(单价),MIN(单价),AVG(单价)
B)MAX(单价),MIN(单价),AVERAGE(单价)
C)MAX(单价),MIX(单价),SUM(单价)
D)MAX(单价),SUM(单价),AVG(单价)
(33)第(33)~ (35)题使用如下的3个数据表:学生、课程和成绩。
学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8))
课程(课程编号 C(8),课程名称 C(20))
成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))
查询所有选修了"计算机基础"的学生的"计算机基础"成绩,要求得到的信息包括学生姓名和成绩,并按成绩由高到低的顺序排列,下列语句正确的是
A)SELECT 学生.姓名,成绩.成绩 FROM 学生,成绩;
WHERE 学生.学号=成绩.学号;
AND 课程.课程名称 = ′计算机基础′;
ORDER BY 成绩.成绩 DESC
B)SELECT 学生.姓名,成绩.成绩 FROM 课程,成绩;
WHERE AND 课程.课程编号=成绩.课程编号;
AND 课程.课程名称 = ′计算机基础′;
ORDER BY 成绩.成绩 DESC
C)SELECT 学生.姓名,成绩.成绩 FROM 学生,课程,成绩;
WHERE 学生.学号=成绩.学号;
AND 课程.课程编号=成绩.课程编号;
AND 课程.课程名称 = ′计算机基础′;
GROUP BY 成绩.成绩 DESC
D)SELECT 学生.姓名,成绩.成绩 FROM 学生,课程,成绩;
WHERE 学生.学号=成绩.学号;
AND 课程.课程编号=成绩.课程编号;
AND 课程.课程名称 = ′计算机基础′;
ORDER BY 成绩.成绩 DESC
(34)为成绩表中定义成绩字段的默认值为0,正确的命令是
A)ALTER TABLE 成绩 ALTER 成绩 DEFAULT 成绩=0
B)ALTER TABLE 成绩 ALTER 成绩 DEFAULT 0
C)ALTER TABLE 成绩 ALTER 成绩 SET DEFAULT 成绩=0
D)ALTER TABLE 成绩 ALTER 成绩 SET DEFAULT 0
(35)将"学生"表中班级字段的宽度由原来的8改为12,正确的命令是
A)ALTER TABLE 学生 ALTER 班级 C(12)
B)ALTER TABLE 学生 ALTER FIELDS 班级 C(12)
C)ALTER TABLE 学生 ADD 班级 C(12)
D)ALTER TABL E学生 ADD FIELDS 班级 C(12)
答案:
一、1、A 2、C 3、A 4、A 5、D 6、C 7、C 8、A 9、C 10、D 11、D 12、A 13、A 14、A 15、B 16、D 17、C 18、B 19、D 20、D
21、C 22、C 23、D 24、B 26、A 27、B 28、C 29、B 30、A
31、D 32、A 33、D 34、B 35、A 下载本文