特殊的Oracle外连接语法案例

前端之家收集整理的这篇文章主要介绍了特殊的Oracle外连接语法案例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个应该从Oracle外连接语法移植到sql标准外连接语法的查询中看到以下内容
SELECT ...
FROM A,B,C,D,E
WHERE A.A_ID = B.A_ID
AND B.B_ID = C.A_ID(+)
AND B.B_KEY = C.B_KEY(+)
AND C.C_ID = D.C_ID(+)
AND B.A_ID = E.A_ID(+)
AND B.B_KEY = E.B_KEY(+)
AND 'CONSTANT' = C.X_ID(+)

现在翻译外连接语法通常是一个非常机械的过程,但最后一行让我感到困惑.这是什么意思?它有什么影响?

我试图执行机械过程.我希望我记得它.

这导致:

SELECT ...
FROM A
         join B on A.A_ID = B.A_ID
    left join C on B.B_ID = C.A_ID and B.B_KEY = C.B_KEY and 'CONSTANT' = C.X_ID
    left join D on C.C_ID = D.C_ID
    left join E on B.A_ID = E.A_ID and B.B_KEY = E.B_KEY

总之,我认为Leigh Riffel的答案是正确的.

注意

在过去,记忆的规则是:oracle其中A.a = B.b()在sql-Server旧语法中成为A.a * = B.b加上相反的一方并成为一个星,这意味着A.a = B.b上的左连接B.

原文链接:https://www.f2er.com/oracle/205351.html

猜你在找的Oracle相关文章