我有两个名为“节点”和“链接”的表。我正在执行以下查询,它会返回我想要的结果。这个怎么优化?我在内部查询中使用外部查询的结果集。如何在内部查询中引用外部查询的结果集,以防止再次运行相同的外部查询。箭头之间的重复查询。
SELECT * FROM nodes where name = 'Compost' union all
-> SELECT * FROM nodes where id in
( SELECT target from links where source in
( SELECT id FROM (SELECT * FROM nodes where name = 'Compost' <- ) as a)) union all SELECT * FROM nodes where id in
( SELECT target from links where source in (SELECT id FROM ( -> SELECT * FROM nodes where id in ( SELECT target from links where source in
( SELECT id FROM (SELECT * FROM nodes where name = 'Compost'<- ) as c))) as b))