比如两个表都有一个叫ID的字段,怎么查找是最快速的?我只知道not in可以,但是想问问有没有更有效的。

解决方案 »

  1.   

    使用外连接,如A,B
    select A.* from A left join B on A.ID=B.ID where B.ID is null
      

  2.   

    楼上的有一个前提是b表没有null的数据把
      

  3.   

    SELECT * FROM A T WHERE NOT EXISTS(SELECT * FROM B WHERE T.ID = ID)
      

  4.   

    用 NOT EXISTS 代替 NOT IN
      

  5.   

    select a.id from a,b where a.id=b.id(+) and b.id is null
      

  6.   

    一般情况下的查询效率是:
    outer join>not in>not exists个人推荐这种情况用外连接。