麻烦高手们详细解释一下connect by 的用法!!万分感谢!例如:
select rownum from dual connect by rownum<10 这里的Connect by 是怎么查询的?
还有 connect by a=b 和 connect by prior a=b 的具体区别?它们在ORACLE查询时是怎么工作的,麻烦高手们详细解释一下!!小弟万分感激!!

解决方案 »

  1.   

    connect by prior a=b的执行是在表中找一条记录符合:NEW.b=NOW.a
    也就是找到的那条记录的B与当前条的A相等.符合这样的记录也可能有多条,就从其中一条先执行下去,直到找不到了就从第二条执行下去,直到找不到.可能我也说的不是很清楚,你就慢慢体会吧.
      

  2.   

    表有AA 列,BB 列 BB是AA的上级
    select * from *
    start with aa='...' connect by bb=prior aa 查询下属,AA与BB交换时查询上级。
      

  3.   

    connect by prior a=b
    意思是以b作为起点向a查询,一般要求a和b存在父子关系
    一张树形结构的表
    connect by 的意思就是给定一个查询的起始点