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
21
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语句填空:
22
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结构 字段名 总编号 分类号 书名 出版单位 作者 单价 馆藏册数 字段类型 C(10) C(10) C(8) C(20) C(8) N(7,2) N(4) DZ.dbf结构 字段名 借书证号 单位 姓名 性别 职称 地址 字段类型 C(6) C(18) C(8) C(2) C(10) C(20) JY.dbf结构 字段名 借书证号 总编号 借书日期 还书日期 字段类型 C(6) C(10) D(8) D(8) 完善下列语句以查询该图书馆各出版社出版图书的总册数、总金额、平均单价: 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 ;
23
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。
24

