请问在oracle多表连接查询时,是使用join..on..好还是使用where好
例:
select XX...
from A,B,C
where A.ab=b.ab and b.bc=c.bc
比之于
select XX...
from A
 join B on A.ab=B.ab
 join C on B.bc=C.bc
这两个sql有什么区别,效率方面

解决方案 »

  1.   

    应该差不多吧,不过以前只看到过where...and 和union比较效率
      

  2.   

    奇怪奇怪好像我用where的会出现统计错误用join的不会 找了半天了没发现什么问题啊 难道是where来连接与join有所不同?
      

  3.   

    没区别,只不过一个是86的写法,一个是92的写法。
    如果有错误把SQL和ERROR贴上来
      

  4.   

    结果非正规非完全测试,似乎用where的确比join要快一点点哦 不知这是事实还是其它问题引起的
      

  5.   

    30万条数据用join是17秒
     而用where是15秒
    其它都一样
      

  6.   

    是我弄错了一下sql 用where没错误 但是效率好像似乎也许大概可能会快过join
    非主流观点
    看来公司dba还是对的 姜还是老的辣
      

  7.   

    我一般都用where,楼主问的有点高深啊。帮你顶
    btw,30W条数据就要15+秒啊?
    复杂的n多表连接?
      

  8.   

    where 情况会好些,多表连接的 其中一张表你要全表扫描方式找那个字段在跟你对应的表的字段去比较