资源描述
一、选择
1.下列说法正确的是__________。
A.视图文件的扩展名是.vcx
B.查询文件中保存的是查询的结果
C.查询设计器实质上是SELECT-SQL命令的可视化设计方法
D.查询是基于表的,并且是可更新的数据集合
2.有关查询和视图,下列说法不正确的是__________。
A.查询是只读型数据,视图可以改变数据源
B.查询可以更新数据源,视图也有此功能
C.视图具有许多数据库表的属性,利用视图可以创建查询和视图
D.视图可以更新数据源,存在于数据库中
3.在VFP系统中,使用查询设计器生成的查询文件中保存的是___________。
A.查询的命令 B.与查询有关的基表
C.查询的结果 D.查询的条件
4.根据需要,可以把查询输出到不同的目的地。以下不可以作为查询的输出类型的是___________。
A.自由表 B.临时表 C.表单 D.屏幕
5.下列关于视图的说法中,错误的是___________。
A.视图中的源数据表也称为基表
B.视图不以文件的方式独立存在
C.视图设计器只比查询设计器多一个“更新条件”选项卡
D.远程视图使用VFP的SQL语法从VFP视图或表中选择信息
6.SQL是__________的缩写。
A.Standard Query Language B. Structured Query Language
C.Select Query Language D.其他三项都不是
7.如果没有选定输出目的地,那么查询结果将显示在__________中。
A.VFP主窗口 B.浏览窗口 C.用户自定义窗口 D.临时表
8.从表customer中提取所有记录生成查询,并将查询结果存放于表MyCursor的SQL命令为___________。
A.SELECT * FROM customer INTO CURSOR MyCursor
B.SELECT * FROM customer INTO TABLE MyCursor
C.SELECT ALL FROM customer INTO TABLE MyCursor
D.CREATE SQL VIEW MyCursor ASSELECT * FROM customer
9.查询设计器和视图设计器的主要不同表现在___________。
A.查询设计器有“更新条件”选项卡,没有“查询去向”选项。
B.查询设计器没有“更新条件”选项卡,有“查询去向”选项。
C.视图设计器没有“更新条件”选项卡,没有“查询去向”选项。
D.视图设计器有“更新条件”选项卡,也有“查询去向”选项。
10.下列有关查询与视图的叙述中错误的是___________。
A.查询文件不仅可以在查询设计器中修改,而且可以利用Windows的“记事本修改”
B.视图分为本地视图和远程视图两种类型,而且可以创建参数化视图
C.查询结果在屏幕上直接浏览时,其数据是只读的,而视图的结果是可以修改的
D.查询与视图的数据源可以是自由表、数据库表、查询和视图
11.查询如果要输出匹配记录,多表关联应选择 。
A.内部联接 B.左外部联接 C.右外部联接 D.全外部联接
12.查询结果可进行 。
A.数据修改 B.数据追加 C.单独保存 D.保存在数据库中
13.查询的数据源 。
A.只能是自由表 B.只能是关联的多表
C.只能是视图 D.表和视图
14.视图是一个 。
A.虚拟的表 B.真实的表 C.不依赖数据库的表 D不能修改的表.
15.Visual FoxPro 6.0中,建立查询可用 方法。
A.使用查询向导 B.使用查询设计器
C.直接使用SELECT-SQL命令 D. 以上方法均可
16.使用SELECT-SQL命令建立查询时,若要将查询结果输出到临时数据表中,需要使用 字句。
A.INTO ARRAY B.INTO CURSOR
C.INTO TABLE D.TO FILE
17.在SQL语句中,与表达式“仓库号 NOT IN("wh1","wh2")”功能相同的表达式是___________。
A.仓库号="wh1" AND 仓库号="wh2"
B.仓库号!="wh1" OR 仓库号#"wh2"
C.仓库号<>"wh1" OR 仓库号!="wh2"
D.仓库号!="wh1" AND 仓库号!="wh2"
18.查询设计器中“联接”选项卡对应的SQL短语是___________。
A. WHERE B. JOIN
C. SET D. ORDER BY
19.在SELECT-SQL命令中,如果在分组的基础上,还需对查询结果进行记录的筛选,即取查询记录的子集,可以用___________子句。
A. ORDER BY B. HAVING
C. DISTINCT D. WHERE
20.使用SELECT-SQL命令来建立各种查询时,下列叙述正确的是___________。
A.基于两个表创建查询时,必须预先在两个表之间创建永久性关系
B.基于两个表创建查询时,查询结果的记录数不会大于任一表中的记录数
C.基于两个表创建查询时,两个表之间可以无同名字段
D.用ORDER BY子句只能控制查询结果按某个字段进行升序排序
21.现有两张数据库表分别为部门表和商品表的数据(21-25题均用该数据):
表1 部门表
部门号
部门名称
40
家用电器部
10
电视录摄像机部
20
电话手机部
30
计算机部
表2 商品表
部门号
商品号
商品名称
单价
数量
产地
40
0101
A牌电风扇
200.00
10
广东
40
0104
A牌微波炉
350.00
10
广东
40
0105
B牌微波炉
600.00
10
广东
20
1032
C牌传真机
1000.00
20
上海
40
0107
D牌微波炉_A
420.00
10
北京
20
0110
A牌电话机
200.00
50
广东
20
0112
B牌手机
2000.00
10
广东
40
0202
A牌电冰箱
3000.00
2
广东
30
1041
B牌计算机
6000.00
10
广东
30
0204
C牌计算机
10000.00
10
上海
SQL语句
SELECT 部门号,MAX(单价*数量) FROM 商品表 GROUP BY 部门号
查询结果有___________条记录。
A. 1 B. 4
C. 3 D. 10
22.现有SQL语句
SELECT 产地,COUNT(*) 提供的商品种类数;
FROM 商品表;
WHERE 单价>200;
GROUP BY 产地 HAVING COUNT(*)>=2;
ORDER BY 2 DESC
查询结果的第一条记录的产地和提供的商品种类数是___________。
A. 北京,1 B. 上海,2
C. 广东,5 D. 广东,7
23.SQL 语句
SELECT 部门表.部门号, 部门名称,SUM(单价*数量);
FROM 部门表,商品表;
WHERE 部门表.部门号=商品表.部门号;
GROUP BY 部门表.部门号
查询结果是___________。
A. 各部门商品数量合计 B. 各部门商品金额合计
C. 所有商品金额合计 D. 各部门商品金额平均值
24.SQL 语句
SELECT 部门表.部门号, 部门名称, 商品号, 商品名称, 单价;
FROM 部门表,商品表;
WHERE 部门表.部门号=商品表.部门号;
ORDER BY 部门表.部门号 DESC,单价
查询结果的第一条记录的商品号是___________。
A. 0101 B. 0202
C. 0110 D. 0112
25. SQL 语句
SELECT 部门名称 FROM 部门表 WHERE 部门号 IN;
(SELECT 部门号 FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000)
查询结果是___________。
A. 家用电器部、电话手机部 B. 家用电器部、计算机部
C. 电话手机部、电视录摄像机部 D. 家用电器部、电视录摄像机部
二、填空
1.SELECT 查询命令中___________子句,可以把一个SELECT 语句的查询结果同另一个SELECT语句的查询结果组合起来。
2.视图有2种,分别是 和 。
3.建立视图,其数据源可以是 、 、 。
4.SELECT-SQL命令中,ORDER BY的功能是:_______________。
5.完善下面的SQL命令,实现给cj表中成绩不及格的记录加上删除标记:
DELETE FROM cj _____ cj.cj<60
6.SELECT-SQL命令中,GROUP BY关键字的功能是:_______________。
7.运行查询cx1.qpr的命令是_________________。
8.在SELECT-SQL语句中,DISTINCT选项的功能是___________。
9.在VFP中创建多表查询时,表之间的联接类型分为4种,即___________、左联接、右联接和___________。
10.用SELECT-SQL命令对数据进行查询时,SELECT命令中的FROM子句是用来指定数据源的, ________子句用来筛选源表记录的,__________子句用来筛选结果记录的。
11.视图可以在“数据库设计器”窗口中打开,也可以用USE命令打开,单在使用USE命令之前,必须打开包含该视图的___________。
12.如果打开基于本地表的视图,则在Visual FoxPro的另一个工作区中___________被同时打开。
13.如果要在学生表中查询籍贯为“江苏南京”和“上海”的同学,则SELECT-SQL语句为 :
SELECT 学号,姓名,籍贯 FROM 学生 WHERE 籍贯___________。
14.如果要查询学生“李林”的情况,并将查询结果追加在文本文件temp.txt的尾部,请对下面的SQL语句填空:
SELECT * FROM 学生 TO FILE temp ___________ WHERE 姓名=“李林”
15.设有以下两条SELECT查询命令:
A. SELECT xs.xh,xs.xm,zy.zymc;
FROM sjk!xs,sjk!zy;
WHERE xs.zydh=zy.zydh;
INTO CURSOR cx1;
ORDER BY 3
B. SELECT xs.xh,xs.xm,zy.zymc;
FROM sjk!xs inner join sjk!zy;
ON xs.zydh=zy.zydh;
INTO CURSOR cx1;
ORDER BY 3
两条查询命令的功能 (注:回答“相同”或“不相同”)。
16.已知JS(教师表)中有xdh(系代号)、jbgz(基本工资)等字段, 下列语句是显示教师表(js.DBF)中各系科基本工资总和,请完善下列填空。
SELECT js.xdh,_________ as “基本工资总和”;
FROM js;
GROUP BY______________。
17.已知某数据库表KCYZ.DBF含有5个字段,若其中有一个名为bxk的逻辑型字段,则可用下列SQL命令查询bxk字段值为.T.的所有记录,且要求输出所有字段,输出结果保存在表TEMP.DBF中。
SELECT FROM kcyz ;
WHERE bxk= ;
Table temp 。
18.设某图书馆“图书管理”数据库中有三张表:TS.dbf 、DZ.dbf 与JY.dbf,表结构如下:
TS.dbf结构
DZ.dbf结构
JY.dbf结构
字段名
字段类型
字段名
字段类型
字段名
字段类型
总编号
C(10)
借书证号
C(6)
借书证号
C(6)
分类号
C(10)
单位
C(18)
总编号
C(10)
书名
C(8)
姓名
C(8)
借书日期
D(8)
出版单位
C(20)
性别
C(2)
还书日期
D(8)
作者
C(8)
职称
C(10)
单价
N(7,2)
地址
C(20)
馆藏册数
N(4)
完善下列语句以查询该图书馆各出版社出版图书的总册数、总金额、平均单价:
SELECT 出版单位,SUM(馆藏册数) AS馆藏总册数, ;
AS 总金额, AS平均单价;
FROM 图书管理!TS ;
GROUP BY 出版单位 。
19.完善下列语句以查询借阅次数最多的前10名读者的代书证号、姓名和借阅次数(表结构同上):
SELECT DZ.借书证号, DZ.姓名,, COUNT(*) as 借阅次数, ;
FROM 图书管理!DZ INNER JOIN图书管理!JY ;
ON DZ.借书证号= ;
GROUP BY 1 ;
ORDER BY 。
20.如果要查询借阅了两本和两本以上图书的读者姓名和单位,请完善下列SQL语句(表结构同上):
SELECT 姓名,单位;
FROM 图书管理!DZ;
WHERE 借书证号 IN
( SELECT ;
FROM 图书管理!JY;
GROUP BY 借书证号;
HAVING 。
21.下列SELECT-SQL命令用于查询每个图书证号借书本数、过期本数、过期罚款数。(注:“过期”是指借阅超过60 天,罚款数以每本书借阅超过60 天者,超过部分按每天 0.05 元计算。)
SELECT Jy.借书证号, COUNT(*) as 借书本数, AS 过期本数,;
SUM(IIF(Jy.hsrq-Jy.jyrq>60, 0.05* ,0.00)) AS 罚款数;
FROM jy;
GROUP BY 。
22.在教学管理数据库SJK中有2个表: KC.DBF(课程表)和CJ.DBF(成绩表),表结构如下:
KC.DBF
CJ.DBF
字段名
含义
字段类型及宽度
字段名
含义
字段类型及宽度
KCDH
课程代号
C(8)
XH
学号
C(10)
KCM
课程名
C(26)
KCDH
课程代号
C(3)
XF
学分
N(2)
CJ
成绩
N(3)
则可用下列SQL命令查询总学分大于100的记录。(注:成绩为60或60以上才能获得相应学分,否则学分为0):
SELECT CJ.xh, SUM( ) AS 总学分;
FROM Sjk!Kc INNER Sjk!Cj ;
WHERE Cj.Kcdh=Kc.Kcdh ;
GROUP BY CJ.Xh;
总学分>100 。
23.完善下列SQL命令以查询每门课的课程代号、课程名、选课人数、优秀人数、不及格人数(表结构同上)。
SELECT Kc.kcdh, Kc.kcm, AS 选课人数,;
SUM(IIF(cj.cj>=90,1,0)) AS 优秀人数,;
AS 不及格人数;
FROM sjk!kc INNER JOIN sjk!cj ;
ON Kc.kcdh = Cj.kcdh;
GROUP BY 。
24.数据库JXSJ中有JS(教师)表、KCAP(课程安排)表和KC(课程)表,教师表中有GH(工号)、XM(姓名)等字段;课程安排表中有GH(工号)、KCDM(课程代码)和BJBH(班级编号)等字段;课程表中有KCDM(课程代码)、KCMC(课程名称)和KSS(周课时数,数值型)等字段。若周课时总数≤9时,每课时津贴30元;周课时总数>9时,超过部分每课时津贴80元,则下列SELECT-SQL命令可以统计每位教师周课时总数以及周课时津贴,且按周课时津贴降序排序,查询去向为文本文件RS.TXT。
SELECT Js.gh AS 工号, Js.xm AS 姓名, AS 周课时总数,;
IIF(SUM(Kc.kss)<=9,SUM(Kc.kss)*30, ) AS 周课时津贴;
FROM jxsj!js INNER JOIN jxsj!kcap INNER JOIN jxsj!kc ;
ON ;
ON Js.gh = Kcap.gh;
GROUP BY Js.gh;
ORDER BY 4 DESC;
rs.txt
25.当前盘当前目录下有数据库db_stock,其中有数据库表stock.dbf,该数据库表的内容如下:
股票代码
股票名称
单价
交易所
600600
青岛啤酒
7.48
上海
600601
方正科技
15.20
上海
600602
广电电子
10.40
上海
600603
兴业房产
12.76
上海
600604
二纺机
9.96
上海
600605
轻工机械
14.59
上海
000001
深发展
7.48
深圳
000002
深万科
12.50
深圳
有如下SQL语句
SELECT * FROM stock INTO TABLE stock ORDER BY 单价
执行该语句后的结果是___________(注:回答“出错”或“不出错”)。
26.有如下SQL SELECT语句
SELECT * FROM stock WHERE单价BETWEEN 12.76 AND 15.20
与该语句等价的是
SELECT * FROM stock WHERE 单价<=15.20___________单价>=12.76
27.有如下SQL语句
SELECT max(单价) INTO ARRAY a FROM stock
执行该语句后a[1]的内容为__________。
28.有如下SQL语句
SELECT 股票代码,avg(单价) as 均价 FROM stock;
GROUP BY 交易所 INTO DBF temp
执行该语句后temp表中第二条记录的“均价”字段的内容是__________。
29.有如下SQL语句
CREATE VIEW view_stock AS SELECT 股票名称AS名称,单价FROM stock
执行该语句后产生的视图含有的字段名是__________,单价。
30.执行如下SQL语句后
SELECT DISTINCT 单价 FROM stock;
WHERE 单价=(SELECT min(单价) FROM stock) INTO DBF stock_x
表stock_x中的记录个数是__________。
三、写SQL语句
(1)学生表XS.DBF 包含字段XH,XM,XB,XZYDM,XDH分别表示学生的学号、姓名、性别、系专业代码和系代号。
(2)教师表JS.DBF包含字段GH,XM,XDH,ZC分别表示工号,姓名,系代号,职称。
(3)课程表KC.DBF包含字段KCDH,KCM,KSS,BXK,XF分别表示课程代号、课程名、课时数、是否必修课和学分。
(4)成绩表CJ.DBF包含字段XH,KCDH,CJ分别表示学号、课程代号和成绩。
(5)系名表XIM.DBF包含字段XDH,XIMING分别表示系代号和系名。
(6)工资表GZ.DBF包含字段GH,JBGZ分别表示工号和基本工资。
(7)借阅表JY.DBF中包含字段JSZH、JYRQ、HSRQ分别表示借书证号、借阅日期和还书日期。
(8)院系专业信息表YXZY.DBF包含字段XZYDM,ZYMC分别表示系专业代码和专业名称。
(9)教材JC.DBF表含有CBSMC,ZZ和CBNF分别表示出版社名称、作者和出版年份等字段。
根据以下要求,填写出SELECT-SQL命令:
1.基于XS表,显示学生表中系代号为“05”的学生的学号和姓名。
2.基于学生表,查询学号以“002”开头的学生的学生情况。
3.基于教师表查询年龄在40-50岁的所有教师的工号、姓名和年龄,并按年龄排序。
4.基于学生表查询所有籍贯为“江苏”的同学记录。
5.基于CJ表,查询已及格的所有学生的学习情况,并按学号降序排序。
6.基于KC表,显示所有必修课的课程代号和课程名,并按课程代号降序排列。
7. 显示CJ表中有不及格课程成绩的学生的学号,有多门课程不及格的学生只显示一次。
8.基于JS表查询各职称的教师人数。要求输出职称、教师人数,按教师人数降序排序,查询结果输出到临时表TEMP。
9.基于XS表查询所有学生的情况,并把结果输出在屏幕上。
10.基于学生表查询出在1980年以后出生的学生的学号、姓名和出生日期,并按学号升序排序。
11.基于GZ表查询基本工资在1000~2000元之间的教师,要求输出工号和基本工资,并且按基本工资的降序排列。
12.基于JC表查询各个作者在各个出版社每年出书情况,要求输出作者、出版社名称、出书数量。
13.基于JC表查询每个年份出版图书总量,要求输出出版年份,图书总量,并按图书总量降序排列。
14.从高到低显示CJ表中课程代号为“01“的课程学生的学号和成绩。
15.基于XS表和CJ表,查询各个学生的平均成绩,要求输出:学号、姓名和平均成绩,并按平均成绩升序排列。
16.基于KC表和CJ表,查询每门课的最高分、总分,要求输出总分在480分以上的课程代号、课程名、最高分和总分, 并把查询结果保存到Kc-maxcj.dbf 表文件中。
17基于CJ表和KC表,查询出所有课程名为“英语”的学生的学号、成绩和课程名,并按成绩降序排。
18基于KC表和CJ表和XS表,查询每门课程的选课人数,平均分,要求输出课程代号、课程名、选课人数、平均分,结果按选课人数降序排序。
19基于XS表和Xim表查询各系男女生人数,要求输出系名,系代号,男生人数,女生人数,结果按系代号降序排,系代号相同的按人数从低到高排。
20于JS表、GZ表和Xim表查询各系教师的工资总额和平均工资,要求输出XDH, Ximing, 工资总额,平均工资, 结果按工资总额降序排序。
21.于XS表和CJ表查询总分前5名的学生成绩。要求输出字段为:XH、XM、XB、总成绩、平均成绩
,
查询结果按总成绩降序排列。
22.XS和CJ查询“01”年级优秀生的信息,要求输出的字段为:学生的学号、姓名、平均分、最低分,输出结果按优秀生平均分的降序排序。
(注:xh字段的前两位表示年级;优秀生的条件是各门课的平均分不低于80且每门课的成绩不低于70)。
23.示JS表中已担任课程(即在RK表中没有相关工号)的教师的姓名和系名。
24. 查询专业表YXZY中,哪些专业在学生表XS中尚未有该专业的学生,输出xzydm,zymc(子查询)
25.基于XS表和CJ表统计所有已登记的成绩中,有两门或两门以上课程不合格的学生的总课程门数和成绩不合格门数,要求输出字段为:XH、XM、总门数、不合格门数,查询结果按不合格门数降序排序。(注:“不合格”是指成绩小于60)
26.基于XS表和CJ表统计所有已登记的成绩中全部课程均合格的学生名单及其合格课程门数,要求输出字段为:XH、XM、合格门数,查询结果按合格门数降序排序。(提示:“全部课程均合格”就是指最低分数大于或等于60)。
27.基于XS表和CJ表,查询班级编号为“0137”的那些没有登记过任何课程成绩的学生名单,要求输出字段为:XH、XM,查询结果按学号升序排序。(提示:班级编号为学号的前4位,要求使用左联接)
28.基于JY表统计教师、学生借书过期罚款人次和罚款金额,要求输出字段为类别(学生还是教师)、过期罚款人次和罚款金额。(注:学生类读者JSZH的第一个字符为“X”,罚款数以每本书借阅超过30 天者,超过部分按每天 0.05 元计算;教师类读者JSZH的第一个字符为“J”,罚款数以每本书借阅超过60 天者,超过部分按每天 0.05 元计算。)
29.基于XS表和Xim表查询各系男女生人数,要求输出系名、性别、系代号、人数。(注意同16的区别)。
30.查询个系科教师工资总额、各系科每个教师的工资以及全校所有教师工资总额。要求结果中包含三个列:系名、姓名和工资,并按系名排序。
展开阅读全文