Mysql实现oracle中的START WITH CONNECT BY
·
事件:
最近把数据库为oracle的程序换成mysql数据库,期间遇到了orcale中的START WITH CONNECT BY语句,第一次见到这种语句,也算是一种扩展吧。
看了几篇博客说这个是一个递归算法:参考博客
在我这里的oracle的sql如下:
SELECT *
FROM user_table u
WHERE u.STATE = 'U'
START WITH u.user_id = 100
CONNECT BY NOCYCLE PRIOR u.dept_id = u.user_id;
于是查了mysql中递归算法的使用,参考博客
改成mysql后的语句如下:
SELECT *
FROM user_table u
WHERE NOT EXISTS(
select * from user_table u1,user_table u2 where
u1.dept_id=u2.user_id AND u.dept_id=u1.dept_id
)
与君共勉!!!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)