Heim > Datenbank > MySQL-Tutorial > Oracle及PostgreSQL递归查询

Oracle及PostgreSQL递归查询

WBOY
Freigeben: 2016-06-07 17:22:26
Original
945 Leute haben es durchsucht

相信大家经常会遇到这样的需求,通过一位职员的id/name获取其下属(包括非直属)所有员工列表,用java实现这个功能相信也得花上一

相信大家经常会遇到这样的需求,,通过一位职员的id/name获取其下属(包括非直属)所有员工列表,用java实现这个功能相信也得花上一会功夫,但是如果是依赖数据库来实现这个功能那就so easy了。先来看看Postgresql如何实现这样的功能。

这样是不是在代码量上减轻了很多啊,具体见postgresql官方文档
接着来看看Oracle如何做递归查询:

从ROOT往末端遍历:

select * from t_account t start with t.parent is null connect by prior t.name=t.parent 

从末端到ROOT端遍历:select * from t_account t start with t.name='**' connect by t.parent=t.name

具体用法细节请参考oracle文档

下面再参照java的实现:

这个一比较就知道前者处理该问题的简洁性了吧。

linux

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage