• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 理科资料 > 正文

    全国计算机等级考试Access中自身连接查询的处理_计算机二级科目怎么选

    时间:2019-01-05 03:24:46 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: 自身连接查询是数据库操作中较难理解的一类查询,也是全国计算机等级考试二级考试大纲以外的内容,文章针对在二级Access上机考试中出现的这类查询给出了解决思路和办法。
      关键词: 全国计算机等级考试二级 Access 自身连接查询
      
      一、前言
      在校非计算机专业的大学生至少应通过全国计算机等级考试二级,以此来证明自己的计算机能力。对于文史类的学生来说,Access无疑是最简单、最实用的一门语言了,因此这几年报考此科目的人数越来越多,而且通过率也位于其它二级语言之首。在二级Access上机考题当中,查询几乎是必考试题,但有一道自身连接查询的考题却让几乎所有的考生望而生畏、无从下手。
      这道试题题目如下:
      tStud表(如图1)是学校历年来招收的学生名单。对于现在正在读书的“在校学生”,均有家长身份证号,对于已经毕业的学生,家长身份证号为空。
      例如,表中学生“张春节”没有家长身份证号,表示张春节已经从本校毕业,是“校友”。
      表中学生“李强”的家长身份证号为“110107196201012370”,表示李强为在校学生。由于在tStud表中身份证号“110107196201012370”对应的学生姓名是“李永飞”,表示李强的家长是李永飞,而李永飞是本校校友。
      “张天”的家长身份证号为“110108196510015760”,表示张天是在校学生;由于在tStud表中身份证号“110108196510015760”没有对应的记录,表示张天的家长不是本校的校友。
      请按要求创建一个查询,要求按照身份证号码找出所有学生家长是本校校友的学生记录。输出学生身份证号、姓名及家长姓名三列内容,标题显示为“身份证号”、“姓名”和“家长姓名”,所建查询命名为“qT2”。
      这道试题题目较长、较拗口,只读完题目不少考生就已满头雾水了,更别说如何做题了。
      二、分析问题
      1.如何判断“校友”
      实际上这个tStud表说明了一个事实情况:一个学生的母校和他家长的母校有可能相同,即学生和他的家长在同一个学校上过学。如果母校相同,则学生和他的家长就是校友,否则不是校友。
      是否校友,是通过学生和家长的身份证号来判断的。如果tStud表中A行第三列的一个家长身份证号在第一列的B行出现过,则说明B行的学生和A行的学生(也就是家长)是校友。比如第二行李强的家长身份证号和第三行的李永飞的身份证号相同。因此,李永飞和他的家长李强就是校友;同样,王爱爱和她的家长王一是校友,王佳佳和她的家长王教育也是校友;而张天家长的身份证号“110108196510015760”在tStud表中第一列没出现过,所以张天和他家长就不是校友。
      通过以上分析我们发现,要判断是否为校友,就得用第三列的一个家长身份证号依次和第一列所有的身份证号进行对比,如果有相同的身份证号,则说明这两个学生是校友。那么题目所要求的“找出所有学生家长是本校校友的学生记录”问题就可迎刃而解。现在的问题就转化为在一个表中如何比较一列中某条记录值和另一列记录值是否相等。
      2.如何比较记录值是否相等
      对两个表中记录值的比较我们可以很轻松地通过选择查询来完成,而对同一个表中记录值的这种比较就需用到另一种查询来完成,这就是自身连接查询。
      所谓自身连接查询就是使一个表同其自身进行连接所创建的查询。这样就如同操作两个表一样来创建一个选择查询,虽然规范化的数据库中很少使用自连接,但是想比较一个表中各记录的值时,就可以使用自身连接减少查询的次数。这个是全国计算机等级考试二级考试大纲之外的一个知识点。
      三、解决办法
      1.创建自身连接
      在查询设计视图中,将tStud表添加两次,第二次添加的表Access系统会自动被命名为tStud_1。因为两个表要通过身份证号建立关系,所以可将tStud表的“家长身份证号”字段拖动到tStud_1表的“身份证号”字段上,这样两个表就建立了关系。由于左边的Stud表是通过学生的家长身份证号和右边的tStud_1表建立的关系,因此左边的tStud表可以看作“学生表”,右边的tStud_1表可以看作“家长表”。
      2.添加字段
      根据题目要求“输出学生身份证号、姓名及家长姓名三列内容,标题显示为‘身份证号’、‘姓名’和‘家长姓名’”。这里的“学生身份证号”显然就指的是“学生表”――tStud表的“身份证号”字段,“学生姓名”指的就是tStud表的“姓名”字段,而“家长姓名”当然就是“家长表”――tStud_1表的“姓名”字段了,在设计视图的“字段”行应将tStud_1表的“姓名”更改为“家长姓名:姓名”以显示“家长姓名”的效果。
      将该查询以“qT2”为名称保存,最终的设计视图如图2所示。
      3.检验数据
      运行qT2查询,将会看到如图3所示的结果,与我们前面对图1的分析结果相同。
      四、结语
      自身连接查询因为逻辑结构复杂,语义往往难以理解,但语法结构简单,所以很容易在设计视图中完成题目的要求。虽然在目前的全国计算机等级考试二级Access上机题库中只有这一道试题是考查该知识点,但以后难免还会出现同类试题。希望各位老师和同学能理解它、用好它。
      
      参考文献:
      [1]全国计算机等级考试命题研究组编�全国计算机等级考试新版上机考试题库二级Access[M]�成都:电子科技大学出版社,2009�
      [2]古文玮�SQL自连接详解[J]�考试周刊,2007,(16):85-86.
    本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

    推荐访问:全国计算机等级考试 连接 查询 Access

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章