select * from 
(
SELECT * FROM router.code_area /*length(area_id) = 4 */
START WITH area_id = '0'
CONNECT BY PRIOR area_id= parent_area_id ) WHERE length(area_id) = 4;这句sql的含义是什么?

解决方案 »

  1.   

    就是用area_id='0'开始去递归关联parent_area_id,类似如下
    area_id,parent_area_id
       0         1
       1         3
       3         5
       5         7
       7         8
       8         9
       9         10
      

  2.   

    典型的层次结构查询,给你个Oracle官方说明,看看其中的hierarchical_query_clause部分http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_10002.htm#i2066102
      

  3.   

    参考:
    http://blog.csdn.net/hdhai9451/archive/2009/02/12/3880318.aspx
    这是Oracle中start with...connect by prior子句用法