(1)将order detaill表中的全部记录追加到order-detail表中,然后用SQLSELECT语句完成查询:列出所有订购单的“订单号”、“订购日期”、“器件号”、“器件名”和“总金额”(按“订单号”升序,“订单号”相同再按“总金额”降序),并

admin2013-05-21  30

问题 (1)将order detaill表中的全部记录追加到order-detail表中,然后用SQLSELECT语句完成查询:列出所有订购单的“订单号”、“订购日期”、“器件号”、“器件名”和“总金额”(按“订单号”升序,“订单号”相同再按“总金额”降序),并将结果存储到results表中(其中“订单号”、“订购日期”、“总金额”取自order list表,“器件号”、“器件名”取自order detail表)。
(2)打开modil.prg命令文件,该命令文件包含3条SQL语句,每条SQL语句中都有一个错误,请改正(注意:在出现错误的地方直接改正,不可以改变SQL语句的结构和SQL短语的顺序)。

选项

答案(1)本题考查了SQL的简单查询和联接查询。SQL简单查询可直接套用基本的查询命令格式;进行联接查询时主要是判断查询输出字段来自哪个数据表(本题都已指明),再正确设置联接条件。 【操作步骤】 步骤1:在命令窗口执行命令: SELECT*FROM order—detail 1 INTO ARRAY temp 将detaill表中的记录全部复制到detail表中。 步骤2:在命令窗口执行如下SQL命令语句完成查询: (注意:以上SQL语句是根据查询文件生成的,大家也可以通过查询设计器完成本题操作。) (2)本题考查了SQL更新功能;分组计算查询和简单查询。 第一处错误属于SQL更新命令格式错误,通过SQL给字段赋新值是通过“=”号设置的。 第二处错误是分组短语与排序短语混淆了,这也是改错题中经常设置错误的地方。 第三处错误是查询语句的命令格式错误,SQL查询中筛选条件通过WHERE短语指出。 【操作步骤】 步骤1:在命令窗口执行命令:MODIFY COMMAND modil, 打开modil程序文件,文件中的命令代码如下: &&所有器件的单价增加5元 UPDATE order—detaill SEI一单价WITH单价+5 &&计算每种器件的平均单价 SELECT器件号,AVG(单价)AS平均价 FROM order—detaill ORDER BY器件号 INTO CURSOR lsb &&查询平均价小于500的记录 SELECT*FROM lsb FOR平均价<500 修改程序中的错误行,修改后的程序如下: uPDATE order—detaill SET单价=单价 +5 &&UPDATE语句中赋值是通过“=”号,而不是WITH SELECT器件号,AVG(单价).AS平均价FROM order—detaill GROUP BY器件号INTO CURSOR lsb&&GROUP BY短语才是分组短语,而 ORDER BY短语是用来对查询结果进行排序的 SELECT*FROM lsb WHERE平均价<500 && SELECT的条件短语是WHERE,而不是FOR 步骤2:保存文件修改,在命令窗口执行命令:DOmodil.prg,执行程序文件。

解析
转载请注明原文地址:https://kaotiyun.com/show/yUop777K
0

最新回复(0)