上面的语句完全可以在oracle中执行。

解决方案 »

  1.   

    推荐这样使用
    select * from table1 where 
    exists(select id2 from table2 where table2.id2=table1.id1)
      

  2.   

    据说exists在通常情况下的效率都要好于in,偶理解的是这样的in 执行的是先执行select id2 from table2,生成一个临时表,然后将id与临时表中的id一一比对,偶想是不是生成这个临时表的时间耗用会比较大那exists上面的是关联型的,因此是对table1
    中的每一条记录执行的select id2 from table2 where table2.id2=table1.id1这个时候一般可以用到索引,并且只需判断有还是没有,所以效率会比较高偶得一点想当然的想法,请楼上指正,请各位抛砖吧:)
      

  3.   

    在insert中也可以这样使用吗??
      

  4.   

    insert中???不管在什么中 in()这种语法都是可以用的阿,如果有疑问,可以把你的insert语句贴出来