小编典典

Oracle外连接语法

sql

我有一个查询,看起来像这样:

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语句中显示不带(+)的查询吗?


阅读 163

收藏
2021-05-05

共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会有一个cust_id无效的?唯一合理的可能性是该值是否为NULL

2021-05-05