我有一个看起来像这样的查询:
SELECT *
FROM
employees e,
departments d1,
departments d2,
departments d3,
departments d4
WHERE e.dep1 = d1.dep(+)
AND e.dep2 = d2.dep(+)
AND e.dep3 = d3.dep(+)
AND e.dep4 = d4.dep(+);
有没有更好的方法来编写它,这样我就不需要在查询中多次使用同一个表?我知道 Oracle 的优化器可能很好地解决了这个问题,但如果有更有效的方法来编写这样的查询,我会全力以赴。请记住,以上只是一个示例,我的实际查询还有很多内容。我在 Windows 2003 x64 上使用 Oracle 11.2.0.3。
谢谢,汤姆