首页 > 数据库技术 > 详细

SQL_之 递归_START WITH id ='102' CONNECT BY PRIOR pid=id

时间:2020-07-15 15:59:02      阅读:41      评论:0      收藏:0      [点我收藏+]

oracle 递归用法

SELECT *
FROM menu
START WITH id =‘102‘
CONNECT BY PRIOR pid=id

 一种应用 

SELECT *
  FROM menu a
 START WITH id in (select menu_id from role_menu where role_code = ‘005‘)
CONNECT BY PRIOR id = pid)

  解释:不太明白为什么,

 

技术分享图片

这个时候查出来的数据是重复的

SELECT a.id
  FROM menu a
 START WITH id in (select id from menu)
CONNECT BY PRIOR id = pid

  技术分享图片

查出来的数据还是重复的.

        select *
          from menu
         where id in
               (SELECT a.id
                  FROM menu a
                 START WITH id in
                            (select menu_id from role_menu where role_code = ‘005‘)
                CONNECT BY PRIOR id = pid)

  

 

SQL_之 递归_START WITH id ='102' CONNECT BY PRIOR pid=id

原文:https://www.cnblogs.com/zytcomeon/p/13305276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!