码迷,mamicode.com
首页 > 数据库 > 详细

Oracle中关联表的视图创建

时间:2015-08-30 23:09:56      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

  这几天的工作基本上没有了比较的新的技术点,就是反反复复的修改需求,修改Bug……当然,也是到了此刻,自己猜觉得在一个庞大的项目中,需求分析的重要性,以及需求说明书的重要性。我们在需求模糊、文档缺乏的条件下,反复修改功能已经成了家常便饭,今天领导说这个功能应该这样,我们就要立刻改到这样,第二天领导说又要原来的那样,我们只能再改回去了……有时候,我们也曾调侃自己是典型的面向领导开发……

今天没有什么比较新的技术点来总结了,自己回顾了一下,这几天的工作,发现在关联表中创建视图的时候对于连接不是特别熟悉,所以趁此机会再回顾一下了:

      1、内联接(典型的联接运算,使用像=  或 <> 之类的比较运算符)。包括相等联接和自然联接。内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。  

  2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。    

在FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:    

   1)LEFT  JOIN或LEFT OUTER JOIN    

左向外联接的结果集包括  LEFTOUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。      

   2)RIGHT  JOIN 或 RIGHT OUTER  JOIN    

右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。      

   3)FULL  JOIN 或 FULL OUTER JOIN

完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。     

  3、交叉联接  

交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。   

FROM子句中的表或视图可通过内联接或完整外部联接按任意顺序指定;但是,用左或右向外联接指定表或视图时,表或视图的顺序很重要。有关使用左或右向外联接排列表的更多信息,请参见使用外联接。    

 以下是自己在防灾系统中中写的一个三个表的左连接实例,供参考:


<span style="font-size:24px;">create or replace view v_dp_b_limitratesegement as
select
     s_id,s_linename,s_linecode,s_monitoringunitcode,s_monitoringpointcode,s_areacode,s_areaname,s_startkilometer,s_startmeter,s_endkilometer,s_endmeter,c_tagspeed,s_tagspeed,i_sortid,c_ableflag,
     s_basestationname,kilometer
  from (
  select
      t1.s_id,t1.s_linename,t1.s_linecode,t1.s_monitoringunitcode,t1.s_monitoringpointcode,s_areacode,s_areaname,s_startkilometer,s_startmeter,s_endkilometer,s_endmeter,c_tagspeed,s_tagspeed,t1.i_sortid,t1.c_ableflag,
      t2.s_basestationname, ('K' || t3.i_km || '+' || t3.i_meter) kilometer
  from
  dp_b_processsegment t1
  left join

  dp_b_basestationinfo t2
  on  t1.s_monitoringunitcode= t2.s_id
  
  left join
  dp_b_monitoringpointinfo t3
  on t1.s_monitoringpointcode=t3.s_id
   ) t;
</span>

总结:以上总结主要是为了自己能够掌握视图的创建方法,内容比较简单,另外也希望能给有需要的人以启发……

版权声明:本文为博主原创文章,未经博主允许不得转载。

Oracle中关联表的视图创建

标签:

原文地址:http://blog.csdn.net/u010375663/article/details/48110907

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!