SQL自连接详解

来源 :考试周刊 | 被引量 : 0次 | 上传用户:bigfish
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文对SQL语言中的自身连接进行了详细的论述,讨论了自身连接存在的必要性,并通过实例对SQL中自身连接查询进行了深入的剖析。
  关键词:SQL 自连接 连接查询
  
  一、连接查询
  
  在SQL中,如果一个查询同时涉及到两个以上的表,那么这种查询就称为连接查询。连接有多种形式,有等值连接、自然连接、非等值连接、外连接、复合条件连接和自身连接等。
  大多数的连接,都是涉及到不同的表,以下面的SQL代码为例:
  SELECT Student.SNumber, Student.SName, StuCour.*
  FROM Student, StuCour
  WHERE Student.SNumber=StuCour.SNumber;
  在上面的SQL代码中,有两个表:学生信息表Student(SNumber, SName, SSex, SAge)和学生选课信息表StuCour(SNumber, CNumber, Grade),这两个表都有一个代表学生学号的叫做SNumber的属性。查询结果是将Student表和StuCour表中SNumber相同的学生的学号、姓名和选课信息显示出来。
  这种连接查询,使用多个表格,并利用了不同表格中相应的列的逻辑关系,SQL代码简单、清楚、明了。但连接操作,并不只存在于多个表之中,有时,对单表进行查询操作时,也必须使用连接操作。
  
  二、用SQL自连接查询处理列之间的关系
  
  SQL自身连接,可以解决很多问题。下面举的一个例子,就是使用了SQL自身连接,它解决了列与列之间的逻辑关系问题,准确的讲是列与列之间的层次关系。SQL代码如下:
  SELECT FIRST.CNumber, SECOND.PCNumber
  FROM Course FIRST, Course SECOND
  WHERE FIRST.PCNumber=SECOND.CNumber;
  在这个代码中,只涉及到一个表,即课程信息表COURSE(CNumber, CName, PCNumber),其中CNumber是该课程的课程号,PCNumber是该课程的先修课课程号。在FROM子句中,为Course表起了两个不同的别名,即FIRST和SECOND,即为Course表创建了两个不同的实例。查询时,使用了条件语句WHERE,要求FIRST表中的先修课号PCNumber同SECOND表中的课程号CNumber相同,而查询所需要的结果,是FIRST表的课程号CNumber和SECOND表中的PCNumber,那么查询结果,就应该是FIRST表中的课程号CNumber和该课程号所对应的间接先修课课程号。
  
  在这里例子中,连接的操作对象只有Num这一个列,通过相同的车次号,找出该列车联通的任意两个城市的信息。在这个例子中,原来表Route中的每一个元组,只能表示车号和该车的某一站点的信息,实际上,这是“1Vs1”的映射关系。如果要表示两个站点的联通关系,那么就应该把两个“1Vs1”关系合并,形成“1Vs多”的关系。我们利用自连接,很容易地解决了这个关系扩充的问题。
  下面的这里例子,是对单一的列进行连接处理:
  SELECT FIRST.Num, SECOND.Num, FIRST.Stop
  FROM Route FIRST, Route SECOND
  WHERE FRIST.Stop=SECOND.Stop;
  
  上面的SQL代码,求出了路经相同城市的车次的信息。原表中的车次和车站是“1Vs1”关系,通过自连接后,得到了车次和车站的“多Vs1”关系。
  
  总结
  
  同其它连接相比,SQL自连接查询本身并没有什么特殊的。但是,在应用中,自连接查询因为其语法结构简单,而逻辑结构复杂,语义往往不是那么容易被人理解,因此,在使用时,经常令人觉得迷惑不解。但只要把自连接运用的得当,把单表看成是多表,牢固树立这一思维定式,我们会发现,自连接查询会为我们解决很多复杂的问题。
  
  参考文献:
  [1]何明. 从实践中学习ORACLE/SQL. 清华大学出版社.
  [2]施伯乐,丁宝康. 数据库系统教程. 高等教育出版社.
  [3]王海亮,张立民,王海凤,郑建茹.精通Oracle 10g SQL和PL/SQL. 中国水利水电出版社.
其他文献
摘要:由于受到来自社会、学校和家庭的竞争、期望和压力,来自学习和生活的困惑,来自成长的烦恼,高三学生会出现各种心理问题,影响学习、生活和成长。教师必须及早发现并帮助学生解决这些心理问题,提高教育教学质量,促进学生健康成长。本文探讨了挫折心理、逆反心理、闭锁心理、自卑心理和焦虑心理的产生和解决、调适方法,并且列举了工作实践中的实例。  关键词:高三学生 心理问题 产生原因 调适策略    进入高三,
期刊
摘 要:随着科学技术的发展,社会日益进步,学生的个别差异也日益明显,班级授课制显现出不足。本文结合Photoshop课程教学实践,对分层教学的内涵、意义及实施等方面作一探讨。  关键词:分层教学 个体差异 因材施教    由于中专学校学生来源素质特殊,各个学生现有的知识、能力水平和潜力倾向存在着明显的差异,分层教学就是根据学生的差异性来组织教学。通过对分层教学在Photoshop图像处理课程的研究
期刊
都市报是当今中国报业市场竞争的主力军,全国各大城市都有不止一份都市报在争夺同一块蛋糕。由于都市报自身的地域性特点和报业发展越来越注重本土化的趋势,本地新闻成为各家都市报的重中之重。与之相对,国际新闻因其离都市报对象读者较远,被包括一些报社当家人在内的部分从业人员视作鸡肋,食之无味,弃之可惜。实际上,只要报社重视、编者用心,国际新闻一样可以成为都市报竞争中的亮点。    一、国际新闻缘何成“鸡肋” 
期刊
摘 要:通过对2004、2005和2006年英语专业四级考试成绩统计的分析,本文旨在指出地方高等院校英语专业教学中存在的问题,同时针对这些问题,提出解决办法。  关键词:英语专业 英语专业四级 英语应用能力 观念 教学    由于我国高等教育的迅猛发展,高等英语专业教育也得到了空前的发展,在校英语专业的学生数量逐年增加。据不完全统计(全国英语专业四级考试成绩统计表),2004年,参加全国英语专业四
期刊
信息技术融入物理课堂,激活了物理课堂,有利于激发学生的学习兴趣和求知欲望,充分调动学生的学习积极性和主动性;有利于化抽象为具体,突破难点,培养学生的发散性思维和自主创新的能力。教师只要恰当地选准信息技术与物理课堂教学的最佳结合点,就会在课堂教学方面起着不可估量的作用。    一、创设情境、激发兴趣    信息技术以其直观、鲜明的声、色、形等手段,调动学生的学习动机,引起他们对所学内容的注意和兴趣。
期刊
摘 要:本文论述了基于Web的网络监视系统的软件实现,包括使用SNMP协议从网络设备上采集网络流量信息,数据库设计,Web流量显示,实现了 SNMP协议中的 GET、SET 、GETNEXT操作。  关键词:简单网络管理协议(SNMP) 网络监视 Web    引言    随着网络的不断发展,规模增大,复杂性增加,简单的网络管理技术已不能适应网络迅速发展的要求。以往的网络管理系统往往是厂商在自己的
期刊
摘 要:教学过程也属交往范畴。在传统高等教育教学模式中,教师与学生这两者之间更多地呈现的是一种主体—客体关系,而随着社会的发展,这种传统的主体—客体关系,应该转变为主体—主体关系,即应重视学生在教学过程中的作用。本文从换位式教学、讨论式教学、研究性教学这几个方面突出了学生主体作用的发挥,构建了高等教育教学模式的创新体系。  关键词:交往理论 换位式教学 讨论式教学 研究性教学    一、问题提出的
期刊
课堂教学没有预设是不行的,但仅有预设是不够的。如果我们的教学只是停留在教学方案的预先设计上,课堂教学最多是一片表面的繁荣,学生获得的东西也只是知识的表层,他们的收获从某种意义上讲不会超出教师的预定。教师只有把握过程的动态生成,灵活机智地根据活动的变化发展调整原有的计划和目标,才能真正实现英语教学的意义,才能根本体现新标准英语的要求。新标准英语不再是那种预先设定的内容,教学也不再仅仅是预设的活动,而
期刊
摘要:外语学习焦虑是影响学生外语学习效果的一个重要情感因素。本文通过对外语学习焦虑理论的研究,探讨了外语学习焦虑产生的原因,结合作者的实际教学经验和我国学生的实际情况,提出了克服和减轻我国学生外语学习焦虑的可行性策略。  关键词:焦虑 外语学习 外语学习焦虑 策略    一、 引言    英语学习是一个极其复杂的过程,它不仅受英语本身语言特点的影响,还受其它一些因素的影响。研究发现,影响外语学习成
期刊
摘要: Q版卡通作为一种独特的具有独立审美意义的艺术形式深受大众的欢迎。本文主要介绍什么是Q版卡通,Q版卡通的人物表现技法,在表现中写实与夸张变形的关系等。  关键词: Q版卡通 人物比例 写实 夸张变形    生活需要欢乐,需要笑声,需要幽默。卡通作为一种独特的具有独立审美意义的艺术形式,自诞生以来已有百年历史,具有简洁、通俗、幽默、风趣、夸张的艺术特点。如同笑话、小品、相声等幽默艺术,卡通也是
期刊