(1)根据表“股票”和“数量”建立一个查询,该查询包含字段:“股票代码”、“股票简称”、“买入价”、“现价”、“持有数量”,要求按股票代码升序排序,并将查询保存为query1。注意:股票代码取表“股票”中的“股票代码”。 (2)modierr.pr

admin2015-08-20  19

问题 (1)根据表“股票”和“数量”建立一个查询,该查询包含字段:“股票代码”、“股票简称”、“买入价”、“现价”、“持有数量”,要求按股票代码升序排序,并将查询保存为query1。注意:股票代码取表“股票”中的“股票代码”。
    (2)modierr.prg中的SQL语句用于计算“银行”的股票(股票简称中有“银行”二字)的总盈余,现在该语句中有三处错误,分别出现在第1行、第4行和第6行,请改正。
    (注意:不要改变语句的结构、分行,直接在相应处修改。)

选项

答案(1) 步骤1:在命令窗口执行命令:CREATE QUERYQUERY1,打开查询设计器,在“打开”对话框中,双击“股票”表,将表添加到查询设计器中,然后在弹出的“添加表或视图”对话框中,单击“其他”按钮,在弹出的“打开”对话框中双击“数量”表,将表添加到查询设计器中,在弹出的“联接条件"对话框中会自动给出“股票”表和“数量”表的关联,单击“确定”按钮,关闭“添加表或视图”对话框。 步骤2:根据题目要求,在“字段”选项卡的“可用字段”中,依次双击“股票.股票代码”、“股票.股票简称”、“数量.买入价”、“数量.现价”和“数量.持有数量”,将它们添加到“选定字段”列表中。 步骤3:在“排序依据”选项卡内双击“选定字段”列表框中的“股票.股票代码”,将其添加到“排序条件”列表框中,在“排序选项”中选择“升序”。 步骤4:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。 (2) 步骤1:在命令窗口执行命令:MODIFY COMMAND MODIERR,打开modierr.prg程序,命令代码如下: 1 SELECT COUNT((现价-买入价)*持有数量); 2 FROM数量; 3 WHERE股票代码; 4 = ; 5 (SELECT股票代码FROM股票; 6 WHERE"银行"LIKE股票简称) > 修改程序中的错误行,修改后的程序如下: 1 SELECT suM((现价-买入价)*持有数量); 2 FROM数量; 3 WHERE股票代码; 4 IN ; 5 (SELECT股票代码FROM股票; 6 WHERE"银行"$股票简称) 步骤2:保存文件修改,在命令窗口执行命令:DO MODIERR.PRG,执行程序文件。

解析 (1)本题主要考查的是查询设计器的使用。本题属于比较简单的查询设计,只要按题目要求正确设置查询字段和排序次序即可。
    (2)本题主要考查的是用SQr.嵌套查询、SQL计算查询。
    本题的查询思路是:在内查询中,从“股票”表中获得“银行”股票4的所有“股票代码”,再在外查询中,从“数量”表中求出这些“股票代码”的总盈余。
    程序第一处错误是求总盈余的函数错误,求总和应该使用函数SUM()。
    第二处错误是嵌套查询中的运算符错误,因为内查询中获得的“股票代码”可能不只是一个,而是一个集合,所以应该用“IN”运算符,而不足“:”。
    第三处错误是内查询中的条件表达式错误,要表示“股票简称”中有“银行”二字,可以用子串包含测试运算符$。关系表达式“<字符表达式1>$<字符表达式2>”为子串包含测试,如果左边字符串是右字符串的一个子字符串,则结果为逻辑真,否则为逻辑假。
转载请注明原文地址:https://jikaoti.com/ti/FIv0FFFM
0

最新回复(0)