二、简单应用(2小题,每题20分,计40分)
在考生目录下完成如下简单应用:
1. 将order_detail1表中的全部记录追加到order_detail表中,然后用SQL SELECT语句完成查询:列出所有订购单的订单号、订购日期、器件号、器件名和总金额(按订单号升序,订单号相同再按总金额降序),并将结果存储到results表中(其中订单号、订购日期、总金额取自order_list表,器件号、器件名取自order_detail表)。
解答:
追加记录:
close all
use order_detail1
append from order_detail
SQL查询部分可以用查询设计器的方法:
首先将要操作的两个表添加到查询设计器:(order_list和order_detail)
选择输出字段,注意各表字段来源按试题要求进行:其中订单号、订购日期、总金额取自order_list表,器件号、器件名取自order_detail表,设置排序依据,设置输出去向到表results。确定后,运行查询即可。
方法2:在命令框中直接输入SQL语句:
SELECT Order_list.订单号, Order_list.订购日期, Order_list.总金额,;
Order_detail.器件号, Order_detail.器件名;
FROM 订货管理!order_list INNER JOIN 订货管理!order_detail ;
ON Order_list.订单号 = Order_detail.订单号;
ORDER BY Order_list.订单号, Order_list.总金额 DESC;
INTO TABLE results.dbf
2. 打开modi1.prg命令文件,该命令文件包含3条SQL语句,每条SQL语句中都有一个错误,请改正之(注意:在出现错误的地方直接改正,不可以改变SQL语句的结构和SQL短语的顺序)
modi1.prg程序如下:
&&所有器件的单价增加5元
UPDATE order_detail1 SET 单价 WITH 单价 + 5
&&计算每种器件的平均单价
SELECT 器件号,AVG(单价) AS 平均价 FROM order_detail1 ORDER BY 器件号 INTO CURSOR lsb
&&查询平均价小于500的记录
SELECT * FROM lsb FOR 平均价 < 500
解答:
错误1:WITH应改为:“=”
错误2、ORDER改为:GROUP
错误3、FOR应改为:WHERE
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |