用 LEFT JOIN 和 where 子句替换 oracle 特定符号 (+)

Replacing oracle specific notation (+) with LEFT JOIN and where clause

最近 (+) 给我带来了一些问题,也许它现在已经贬值了。 现在我想用 LEFT JOIN 替换 (+) 符号,但我似乎无法按顺序获得语法。

这是我的:

SELECT x.a, y.a, z.a
FROM x, y, z
WHERE x.k = y.k(+)
AND x.p = z.p(+);

如何用 LEFT JOIN 替换 (+)?

-编辑-我已经阅读了“重复”的答案,其中很少有人接受了答案(难怪为什么)

我无法根据这些解决我的问题。 此处提供的答案准确无误并已解决 - 将其标记为已接受。

我得到了另一个(对我来说)有点混乱

FROM a,b,c
WHERE b.a  = '101'
AND a.a    = '202'
AND b.c    = a.c
AND a.d    = c.d(+)
AND ROWNUM = 1;

同样,我想用 LEFT JOIN

替换 (+)

等效语法为:

SELECT x.a, y.a, z.a
FROM x LEFT JOIN
     y
     ON x.k = y.k LEFT JOIN
     z
     ON x.p = z.p;