发现个sql解析的感觉像BUG的特性,分享出来

liu志坚 liu志坚 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
版本。
SQL> select * from v$version where rownum<2;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production


create table t_lzj1(aa number,bb varchar2(100),cc number,dd varchar2(100));
create table t_lzj2(aa number,bb varchar2(100));

select aa from lzj.t_lzj2 b where cc > 5; #这个报ora-00904


select * from lzj.t_lzj1 a where aa in (select aa from lzj.t_lzj2 b where cc > 5);
这样可以执行。


10053跟踪发现优化器优化后把CC解析为 a表的了:
SELECT A.AA AA, A.BB BB, A.CC CC, A.DD DD
FROM LZJ.T_LZJ2 B, LZJ.T_LZJ1 A
WHERE A.CC > 5
AND A. AA = B.AA;


...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
liu志坚
基础和管理 17,379 成员 95,111 内容