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

admin2013-03-31  36

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

选项

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

最新回复(0)