优化Oracle SQL查询
下面是一个查询,它返回雇员的主管链,但它使用了一堆嵌套的SELECT语句。 我想知道这个查询是否可以被重构为更高效。 该查询适用于3级管理授权员工参加培训课程的应用程序。 目前,我们需要3个级别的批准,但可能会更改为4个或更多。
SELECT badge as employee,
supervisor_badge as boss1,
(select supervisor_badge FROM hr_data level2 WHERE badge = level1.supervisor_badge) as boss2
(select supervisor_badge FROM hr_data level3 WHERE badge =
(select supervisor_badge FROM hr_data level2 WHERE badge = level1.supervisor_badge)) as boss3
FROM hr_data level1 WHERE BADGE = '123456';
徽章=员工的ID
supervisor_badge =员工主管的徽章
这些字段位于hr_data表中
badge supervisor_badge
123456 111111
111111 454545
454545 332211
产量
employee boss1 boss2 boss3
123456 111111 454545 332211
链接地址: http://www.djcxy.com/p/93929.html
上一篇: Optimizing an Oracle SQL Query
下一篇: Linq2Entities + Entity Framework query optimization: .Where() vs. Linq where