我有一个如下所示的查询:
select *
from find fsc,
let lf,
cust cus,
STRIKE ist
WHERE fsc.id = lf.id
AND ist.ID_old = fsc.ID_old
AND lf.cust_id = cus.cust_id(+)
我知道(+)是一个连接的旧语法,但我不确定它对这个查询实际做了什么。有人可以解释这个并在where语句中使用(+)显示此查询,使用更现代的连接语法吗?
答案 0 :(得分:1)
我相信你想要这个:
select *
from find fsc join
let lf
on fsc.id = lf.id join
STRIKE ist
on ist.ID_old = fsc.ID_old left join
cust cus
on lf.cust_id = cus.cust_id;
说实话,外连接可能没有必要。为什么lf
的{{1}}无效?唯一合理的可能性是值是cust_id
。