(1)利用查询设计器创建查询,从xuesheng和chengji表中找出所有1982年出生的汉族学生记录。查询结果包含“学号”、“姓名”、“数学”、“英语”和“信息技术”5个字段;各记录按“学号”降序排序;查询去向为表tablel。最后将查询保存在query1.qpr文件中。并运行该查询。 (2)首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数据库中创建视图view1:利用该视图只能查询数学、英语和信息技术3门课中至少有一门不及格(小于60分)的学生记录;查询结果包含“学号”、“姓名”、“数学”、“英语”和“信息技术”5个字段;各记录按学号降序排序。最后利用刚创建的视图view1查询视图中的全部信息,并将查询结果存放在表table2中。
【正确答案】正确答案:(1)步骤1:在命令窗口执行命令: CREATE QUERY query1 ,打开查询设计器,将考生文件夹下的xuesheng和chengji表添加到查询设计器中。 步骤2:添加两个表后,系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。 步骤3:依次双击xuesheng表中的“学号”、“姓名”字段和chmgii表中的“数学”、“英语”、“信息技术”字段将其添加到“字段”选项卡的“选定字段”列表中。 步骤4;在“筛选”选项卡中,选择“字段名”中的“表达式”,弹出“表达式生成器”对话框,然后在“表达式”框中输入“YEAR(Xuesheng.出生日期)”,如图2-49所示,单击“确定”按钮返回“筛选”选项卡,接着设置“条件”为“=”,在“实例”框中输入“1982”,在“逻辑”下拉框中选择“AND”;在第二行中,选择“字段名”为“Xuesheng.民族”,“条件”为“=”,在“实例”框中输入“汉”。
【答案解析】解析:(1)本题考查的是在查询设计器中新建查询的操作。由于涉及两个表的操作,因此在操作过程中要注意确认查询输出的字段来源于哪个数据表。 本题的关键在于筛选条件的设置。由于表中没有“年份”字段,因此,要得到年份数值必须通过求年份的函数YEAR()取得。在“筛选”选项卡的“字段名”中选择“表达式”,然后在“表达式生成器”对话框中利用函数取“Xuesheng.出生日期”中的年份值,作为筛选条件的“字段名”。 (2)本题主要考查了利用SQL命令定义视图及SQL的简单查询。根据题目要求,本题可以分两步完成,首先是建立视图,然后通过SQL查询视图中的记录。 本题的关键是视图的定义,SQL简单查询只需套用最基本的查询命令格式即可完成。而定义视图的过程中关键是筛选条件的设置,根据题意,要查询“数学”、“英语”和“信息技术”3门课中至少有一门不及格的记录,也就是说查找学生的3门成绩中有“数学”、“英语”或“信息技术”小于60分的记录,因此多个条件之间的关系为逻辑或(OR)的关系。 本题中,视图的建立同样可以通过视图设计器完成,同样需要注意的是在视图设计器中,正确设置各筛选条件。