经常遇到这么疼的问题:
表中id有100万,现在手上有2000个id,想知道这2000个id是不是在数据库中。前提条件:没有权限创建临时表。我想知道在oracle,mysql中分别应该怎么办。如果无解的话,请无情的告诉我。。

解决方案 »

  1.   

    我可以把id轻松的格式化为这种形式: ID100002,
    129999,
    129992,
    299883,
    ...
    382432
      

  2.   

    mysql可以使用聚集索引,oracle里面可是使用count(id),调用的时候将查询的id放入数组中,然后写一个for循环进行查询是否存在。
      

  3.   

    oracle的晓得了。看来这个问题用标准的SQL不好解决。如果以后标准SQL里面能有这样的功能就好了:select * from 
    (
    100002,
    129999,
    129992,
    299883,
    ...
    382432
    );