数据库查询有时候会根据上下级的关系进行查找,比如组织架构中有上下级关系,查找某人最顶级的上级,或者所有的上级,或者所有的下属,此时就可以用start with...connect by语句进行处理

  比如,在hrmresource中每个人id有对应的上级managerid,最上层的人员managerid为0,那么就可以进行如下查找:

--查找人员id为1018的最上级
select id from hrmresource where managerid = 0 start with id = 1018 connect by prior managerid = id

--查找人员id为1018的所有上级
select id from hrmresource start with id = 1018 connect by prior managerid = id

--查找人员id为1018的所有下级
select id from hrmresource start with id = 1018 connect by prior id = managerid

  注意:1、可以出现where条件

     2、prior的位置,在哪个字段的前面,就是顺着哪个字段的方向进行查找

       3、start with 后面的条件是可以用in条件的

相关文章:

  • 2021-06-14
  • 2022-12-23
  • 2021-11-01
  • 2021-11-27
  • 2021-10-17
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-04
  • 2022-12-23
  • 2021-06-05
  • 2021-05-03
  • 2021-09-13
相关资源
相似解决方案