在考生文件夹下,打开“宾馆”数据库,完成如下简单应用: (1)使用查询设计器设计一个名称为two的查询,查询房价“价格”大于等于280元的每个客房的“客房号”、“类型号”(来自客房表)、“类型名”和“价格”。查询结果按“类型号”升序排序,并将查询结

admin2014-11-30  25

问题 在考生文件夹下,打开“宾馆”数据库,完成如下简单应用:
    (1)使用查询设计器设计一个名称为two的查询,查询房价“价格”大于等于280元的每个客房的“客房号”、“类型号”(来自客房表)、“类型名”和“价格”。查询结果按“类型号”升序排序,并将查询结果输出到表tabb中。设计完成后,运行该查询。
    (2)修改一个名称为three.prg的命令文件。该命令文件用来查询与“姚小敏”同一天入住宾馆的每个客户的“客户号”、“身份证”、“姓名”、“工作单位”,查询结果包括“姚小敏”本人。查询结果输出到表tabc中。该命令文件在第3行、第5行、第7行和第8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。

选项

答案(1)步骤1:命令窗口执行:OPEN DATABASE宾馆,打开“宾馆住宿”数据库环境。 步骤2:命令窗口执行:CREATE QUERY two,打开查询设计器,将考生文件火下的“客房”和“房价”表添加到查询设计器中。系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。 步骤3:依次双击“客房”表巾的“客房号”、“类型号”字段和“房价”表中的“类型名”、“价格”字段添加到“字段”选项卡的“选定字段”列表巾。 步骤4:存“筛选”选项卡中选择“字段名”为“房价.价格”,在“条件”为“>=”,在“实例”框中输入“280”。 步骤5:“排序依据”选项卡内双击“选定字段”列表框中的“客房.类型号”字段添加到“排序条件”列表框中。 步骤6:执行【查询】→【查询去向】菜单命令,在“查询去向”中单击“表”按钮,存“表名”中输入文件名tabb,单击“确定”。 步骤7:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。 (2)步骤1:命令窗口执行:MODIFY COMMAND three,打开程序义件,文件中的命令代码如下: *该命令文件用来查询与"姚小敏"同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位。查询结果输出到表TABC中。 *该命令文件在第3行、第5行、第7行和第8行有错误,打开该命令义件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。 1 OPEN DATABASE宾馆 2 SELECT客户.客户号,身份证,姓名,工作单位; 3 FROM客户JOIN入住; 4 WHERE入住日期IN; 5 ( SELECT ; 6 FROM客户,入住; 7 WHERE姓名=-"姚小敏"); 8 TO TABLE TABC 修改程序中的错误行,修改后的程序如下: 1 oPEN DATABASE宾馆 2 SELECT客户.客户号,身份证,姓名,工作单位; 3 FROM客户JOIN入住ON客户.客户号=入住.客户号; 4 wHERE入住日期工N; 5 (SELECT入住日期; 6 FROM客户,入住; 7 WHERE客户.客户号=入住.客户号and姓名 ="姚小敏"); 8 TNTO 11ARLF TABC 步骤2:保存文件修改,在命令窗口执行命令:DO THREE.PRG,执行程序文件。

解析 (1)本题考查的是在查询设计器中新建查询的操作。由于涉及两个表的操作,因此在操作过程中要注意确认查询输出的字段来源于哪个数据表。
    在“筛选”选项卡中设置筛选条件,排序是在“排序依据”选项卡中,通过【查询去向】菜单命令打开“查询去向”对话框指定输出去向。
(2)本题主要考查的是SQL嵌套查询。该程序的功能如下:
    通过子查询查找客户名是“姚小敏”的客户入住日期,该查询结果可看作是一个集合,然后在主查询中查找客户入住日期在这个集合中(即“姚小敏”的入住日期)的客户的相关信息。
    根据题意,提供的程序段中第3、5、7、8行错误,依次判断各行语句可以看出:
    第3行是对两个表进行联接的语句,格式一般为FROM…JOIN…ON…,其中ON短语后面接的是两个表的联接条件,本行中缺少该语句。
    第5行中SELECT语句后面应指定输出的字段,本行缺少指定输出的字段。
    第7行中仅指定了筛选条件,并没有指定两个表的联接条件(此处涉及两个表联接操作,因此要指定联接条件),本行应补充该联接条件且通过AND短语将其与筛选条件联接起来。
    第8行属于固定语法错误,将数据输出到数据表中,应使用INTO TABLE短语,而不是TO TABLE。
转载请注明原文地址:https://kaotiyun.com/show/0sEp777K
0

最新回复(0)