请教外连接where条件的问题

[复制链接]
查看11 | 回复3 | 2008-9-1 09:46:23 | 显示全部楼层 |阅读模式
select a*,b.* from A a left join B b on a.id=b.id where a.aa = '123';
请问是先连接,然后过滤where条件呢,还是先过滤再连接呢?如果是线连接在过滤,是不是这样写效率更好:
select aa.*,b.* from
( select *from A a where a.aa = '123') aaleft join B b on a.id=b.id ;
回复

使用道具 举报

千问 | 2008-9-1 09:46:23 | 显示全部楼层
看看执行计划,Oracle可能会将外层的条件推进内层。
回复

使用道具 举报

千问 | 2008-9-1 09:46:23 | 显示全部楼层
你不用管,cbo会替你选择,没有什么好不好的,该怎么写就怎么写,你放到on里也没有问题啊
回复

使用道具 举报

千问 | 2008-9-1 09:46:23 | 显示全部楼层
谢谢楼上2位,没什么区别,cbo自动选择。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行