1、 RW_BH过滤后,exists子查询里面的记录数必定是<=1;
2、 RW_BH直接或间接与外层查询中的数据有联系的;
3、 在select部分,也是有RW_BH这个字段,这个字段与子查询的rw_bh是否存在联系?
通过层层递进,最终发现子查询中的RW_BH是与外层表对象有间接关系的,为方便理解,SQL可以简化如下:
Select task. RW_BH
From JH_RW task
Where exists(select 1 from XM_RWJH_GX li
left join rp_task_t ta on li.parent_ RW_BH = ta. RW_BH
where ta. RW_BH = :b
)
可以做如下解读:
首先,遍历XM_RWJH表中的所有数据(from XM_RWJH)
其次,对每一个RW_BH判断时候在tm_task_link_t中存在(li.parent_ RW_BH = ta. RW_BH)
最后,判断存在的这个RW_BH是否为参数:b(where ta. RW_BH = :b)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/693533/viewspace-1983400/ ,如需转载,请注明出处,否则将追究法律责任。