1、单项选择题
1、在设计查询时,查询结果的去向可以有多个选择。设xh和xm是xs表中的两个字段,则下列SELECT-SQL命令中语法错误的是_。 ( )
A、SELECT xh, xm FROM xs INTO DBF xsa
B、SELECT xh, xm FROM xs INTO CURSOR xsa
C、SELECT xh, xm FROM xs INTO FILE xsa
D、SELECT xh, xm FROM xs TO SCREEN
2、利用查询设计器设计查询时,下列叙述中错误的是_____________。 ( )
A、在设计多表查询时必须设置两个表之间的联接类型,系统默认的联接类型是内联接
B、在选择一个排序字段时,系统默认的排序方式为升序
C、在”杂项”中设置查询结果的记录范围时,可以选择前n条记录或最后n条记录
D、所选的分组字段可以不是查询输出字段
3、若当前“项目管理器”中有一个查询cx和一个视图st,且包含视图的数据库已打开,则运行查询或打开视图时,下列命令中语法正确的是_。 ( )
A、DO cx
B、DO QUERY cx
C、USE VIEW st
D、USE st
4、在Visual FoxPro 中,创建________将不以的文件存储。 ( )
A、查询
B、类库
C、视图
D、菜单
5、利用查询设计器创建的查询,其查询结果输出去向的默认类型是______。A、临时表
B、浏览
C、表
( )
D、屏幕
6、在下列有关查询与视图的叙述中,错误的是_。 ( )
A、查询文件不仅可在查询设计器中修改,而且可利用Windows的“记事本”软件修改
B、视图分为本地视图和远程视图两种类型,且可以创建参数化视图
C、查询结果在屏幕上直接浏览时,其数据是只读的,而视图的结果是可以修改的
D、查询与视图的数据源可以是自由表、数据库表、查询和视图
7、在下列有关SQL命令的叙述中,错误的是_。 ( )
A、利用ALTER TABLE-SQL命令可以修改数据库表和自由表的结构
B、利用DELETE-SQL命令可以直接物理删除(彻底删除)表中的记录
C、利用一条UPDATE-SQL命令可以更新一个表中的多个字段的内容
D、利用查询设计器设计的查询,其功能均可以利用一条SELECT-SQL命令实现
8、9. 在VFP中,下列关于查询操作的说法中正确的是_____。 ( )
A、不能建立基于视图的查询
B、自由表不能建立查询
C、只有数据库表才能建立查询
D、不能利用查询来更新源表中的数据
9、使用SELECT-SQL命令来建立各种查询时,下列叙述中正确的是:__________。 ( )
A、基于两个表创建查询时,必须预先在两个表之间创建永久性关系
B、基于两个表创建查询时,查询结果的记录数不会大于任一表中的记录数
C、基于两个表创建查询时,两个表之间可以无同名字段
D、用ORDER BY子句只能控制查询结果按某个字段进行升序排序
10、根据需要,可以把查询的结果输出到不同的目的地。以下不可以作为查询的输出类型的是______。 ( )
A、自由表
B、报表
C、临时表
D、表单
11、VFP系统中,查询文件的扩展名为_____。 ( )
A、.PRG
B、.QPR
C、.SCX
D、.QUR
12、要在浏览窗口中显示表js.dbf中职称(zc c (10))为“教授”和“副教授”的记录(该字段的内容无前导空格),下列命令中不能实现此功能的事______________。
( )
A、SELECT * FROM js WHERE js.zc=”教授” OR js.zc=”副教授”
B、SELECT * FROM js WHERE ”教授” $ js.zc
C、SELECT * FROM js WHERE js.zc IN(”教授” ,”副教授”)
D、SELECT * FROM js WHERE RIGHT(js.zc,4)=”教授”
13、设XB为某表中的字符型字段,其宽度为2,则与XB=\"男\".OR.XB=\"女\"等价的表达式为_____。 ( )
A、BETWEEN(XB,男,女)
B、BETWEEN(XB,\"男\女\")
C、INLIST(XB,男,女)
D、INLIST(XB,\"男\女\")
14、设有一自由表xx.dbf。下列SELECT-SQL命令中,语法错误的是_________。 ( )
A、SELECT * FROM xx
B、SELECT * FROM xx INTO CURSOR temp
C、SELECT * FROM xx INTO TABLE temp
D、SELECT * FROM xx INTO temp
15、不可以作为查询与视图的数据源的是___________。 ( )
A、查询
B、数据库表
C、视图
D、自由表
16、下列关于数据库、表和视图操作的叙述中,错误的是 _____________ 。
( )
A、关闭一个数据库,将自动关闭其所有已打开的数据库表
B、打开一个数据库表,将自动打开其所有对应的数据库
C、关闭一个视图所对应的基表,将自动关闭该视图
D、关闭一个视图,不会自动关闭其所对应的基表
2、填空题
1、数据库SJK的学生表中有学号(xs.dbf)、姓名(xm,C,8)等字段;成绩表(cj.dbf)中有学号(xh,C,8)、课程代号(kcdh,C,3)和成绩(cj,N,3)等字段。以下SELECT-SQL命令是根据
学生表和成绩表查询选修课程在6门以上的学生选修课程门数、成绩优秀的课程门数(注:优秀是指成绩大于或等于85)。
SELECT xs.xh,xs.xm,COUNT(*)AS选课门数,;
____________(IIF(cj.cj=>85,1,0))AS优秀课门数;
FROM sjk!xs INNER JOIN sjk!cj;
ON xs.xh=cj.xh;
GROUP BY xs.xh;
______________选课门数>=6
2、教学管理数据库中含有课程表( KC )及成绩表( CJ )。课程表中含有以下字段:课程代号( kcdh ),课程名 (kcm) ,学分 (xf) ;成绩表中有以下字段:学号( xh ),课程代号 (kcdh) ,成绩( cj )。成绩表记录了全体学生所学各门课程的成绩。现根据上述两表查询总学分已超过 120 的所有学生情况(要求输出:学号,平均分,总学分,并按学号的升序排列),可使用下述命令。(注:成绩小于 60 分的学分设置为 0 )
SELECT xh AS 学号,AVG(cj.cj) AS 平均分,_________________ AS 总学分;
FROM kc INNER JOIN cj ;
ON kc.kcdh=cj.kcdh;
GROUP BY xh;
HAVING 总学分>=120;
ORDER BY xh
3、25. 设退休职工工资表(txgz.dbf)含有退休日期(txrq,D)和基本工资(jbgz,N,6)等字段。下列UPADTE-SQL命令可用于调整每位退休职工的基本工资,调整算法是2002年1月1日之前退休的每位职工增加120,否则增加70。
UPDATE txgz __________ jbgz=IIF(txrq<{^2002/01/01},jbgz+120,jbgz+70)
4、设user表含有工号(gh,C,4)和奖金(jj,N,4)等字段,其数据如下:
CH JJ
1101 300
1102 200
1103 .NULL.
1104 100
1105 .NULL
针对该user表,执行下列查询命令:
SELECT COUNT(*)AS人数,SUM(jj)AS奖金总和,;
AVG(JJ) AS平均奖金;
FROM user
则查询得到的记录数为__________,平均奖金为__________。
5、已知课程(KC)表中含课程代号(kcdh)、课程名(kcm)等字段,成绩(CJ)表中含课程代号(kcdh)、成绩(cj)等字段。完善下列SQL命令以查询每门课的选课人数、优秀人数、不及格人数。
SELECT Kc.kcdh, Kc.kcm, _________AS 选课人数,;
SUM(IIF(cj.cj>=90,1,0)) AS 优秀人数,SUM(IIF(cj.cj<60,1,0)) AS 不及格人数;
FROM sjk!kc INNER JOIN sjk!cj;
ON Kc.kcdh=Cj.kcdh;
GROUP BY___________
6、设某图书资料室的"图书管理"数据库中有3张表: 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 总金额, AVG (单价) AS 平均单价;
FROM 图书管理!TS;
GROUP BY 出版单位
完善下列语句以查询借阅次数在 10 次(含 10 次)以上的读者的借书证号,姓名,单位和借阅次数:
SELECT DZ.借书证号, DZ.姓名, DZ.单位, COUNT ( * ) as 借阅次数;
FROM 图书管理!DZ INNTER JOIN 图书管理!JY ;
ON DZ .借书证号=________________;
GROUPBY 1;
_____ 借阅次数> =10
7、已知教师表JS.DBF(含有字段:工号(GH,C,6),姓名(XM,C,8),基本工资(JBGZ,N,7,2),系名(XIMING,C,16))。完成下列SQL命令以统计JS表中系名为“信息管理系”的职工的平均工资。
SELECT_______;
FROM JS;
_______________;
INTO CURS JSTMP
8、用SELECT-SQL命令对数据进行查询时,SELECT命令中FROM子句用来指定数据源表,_______子句用来筛选源表记录,_________子句用来筛选结果记录。
9、设有一职工档案表(zgda.dbf),含有姓名(xm)、部门(bm)和性别(xb)等字段。使用下列SELECT-SQL命令,可以按部门的顺序直接利用打印机打印所有女职工的名单:
SELECT xm,bm FROM zgda WHERE xb=“女”ORDER BY bm____________
10、SQL语言是关系型数据库的标准查询语言.在 VFP 中,使用SELECT-SQL命令进行数据查询时,如果要求在查询结果中无重复记录,则可以在命令中使用 __________ 短语。
11、设有以下两条SELECT查询命令:
1)SELECT xs.xh,xs.xm,zy.zymc;
FROM sjk!xs,sjk!zy;
WHERE xs.zydh=zy.zydh;
INTO CURSOR CX1;
ORDER BY 3
2)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
两条查询命令的功能__________。(注:回答相同或不相同)
12、在 SELECT-SQL 命令中, UNION 子句的功能是把一条 SELECT 语句的查询结果同另一条 SELECT 语句的查询结果组合起来。如果某 SELECT-SQL 命令中使用了 UNION 子句将两个 SELECT 语句联合起来,且需要对最终查询结果排序,则需要使用 ______ 个 ORDER BY 子句。
13、SELECT查询命令中的__________子句,可以把一个SELECT语句的查询结果同另一个SELECT语句的查询结果组合起来。
14、已知成绩( CJ )表中含学号( xh )、课程代号( kcdh )和成绩( cj )字段,成绩表中存有记录数据如下表所示。运行下列程序字段以后,变量 m 、 n 的值分别为_____和______ 。
【程序清单】
SELECT * FROM cj;
WHERE cj.cj<60;
INTO TABLE cj_tmp
m=EOF()
n=RECCOUNT()
15、设教学管理系统中有两个表:码表(zy.dbf)和学生表(xs.dbf)。码表含有码(zydm,C,2)和专业名称(zymc,C,30)等字段,学生表含有学号(xh,C,10)等字段。其中,学号的第3、4位表示该学生所在的码。下列SELECT-SQL命令可用于显示那些没有学生的码和专业名称:
SELECT zy.zydm,zy.zymc FROM zy
WHERE zy.zydm_____________(SELECT SUBSTR(xs.xh,3,2) FROM xs)
16、已知学生( XS )表中含学号( xh )、性别( xb )、专业( zy )字段。下列SQL命令用来查询每个专业的男、女生人数。
SELECT zy, SUM(IIF(xb= ‘男’,1, ___________)) AS 男生人数,;
SUM(IIF(xb="女",1, __________)) AS 女生人数;
FROM xs;
GROUP BY 1
17、已知借阅(JY)表中含读者类型( lx ),借阅日期( jyrq )和还书日期( hsrq )等字段.下列SQL命令用来统计教师,学生借书过期罚款人次和罚款金额.其中罚款金额的算法如下:
(1)对于学生类读者( lx 字段值为\"X\")来说,借阅期限为 30 天.每超过一天,罚款金额以每本书每天0.05元计算;
(2)对于教师类读者( lx 字段值为\"J\")来说,借阅期限为 60 天.每超过一天,罚款金额以每本书每天0.05元计算;
SELECT \"教师\" AS 类型, COUNT ( * ) AS 罚款人次;
SUM ( 0.05* ______ ) AS 罚款金额;
FROM sjk!jy ;
WHERE jy.lx=\"J\"AND hsrq-jyrq>60;
____________ ;
SELECT \"学生\" AS 类型, COUNT(*) AS 罚款人次;
SUM ( 0.05*(hsrq-jyrq-30) ) AS 罚款金额;
FROM sjk!jy ;
WHERE jy.lx=\"X\" AND hsrq-jyrq>30;
18、设sjk.dbc 数据库中有三个数据库表:xim.dbf(系名表),js.dbf(教师表)和xs.dbf(学生表)。其中,xim.dbf含有:系代号(xdh C(2)),系名(ximing C (18))字段;js.dbf,xs.dbf均含有:姓名(xm C(8)),系代号(xdh C(2))字段。要求查询“计算机科学系”的全体师生名单,结果中包含两列:类别,姓名,其中类别用于注明“教师”或“学生”,输出结果首先按照类别排序,若类别相同再按姓名排序。
SELECT “教师” AS 类别 js.xm AS 姓名;
FROM sjk!js , sjk!xim;
WHERE js.xdh=xim.xdh AND xim.ximing=“计算机科学系”;
UNION;
SELECT __________ AS 类别,xs.xm AS 姓名;
FROM sjk!xs,sjk!xim;
WHERE xs.xdh=xim.xdh AND xim.ximing=“计算机科学系”;
ORDER BY 1, 2
19、建立多表查询时,多个表之间需要建立联接。联接的类型有四种,分别为_______、左联接、右联接和完全联接。
20、设有一职工档案表(zgda.dbf),含有姓名(xm)、部门(bm)和性别(xb)等字段。使用下列SELECT-SQL命令,可以将查询结果保存在文本文件TEMO.TXT中:
SELECT xm, bm FROM zgda ORDER BY bm__________temp