特殊的Oracle外连接语法案例
发布时间:2020-12-12 13:11:12 所属栏目:百科 来源:网络整理
导读:我在一个应该从Oracle外连接语法移植到SQL标准外连接语法的查询中看到以下内容: SELECT ...FROM A,B,C,D,EWHERE A.A_ID = B.A_IDAND 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
我在一个应该从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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |