`

IN与EXISTS,NOT IN与NOT EXISTS SQL

    博客分类:
  • DB
SQL 
阅读更多
说再多没用,就举个例子

已知A表 存在ID字段, B表也存在ID字段

问题1: 查询A表中的ID,存在于B表中的

         IN: SELECT ID FROM A WHERE ID IN (SELECT ID FROM B)

-------------------优化-----------------

EXISTS: SELECT ID FROM A WHERE EXSIST (SELECT ID FROM B WHERE B.ID=A.ID)

问题2:查询存在于A表而不存在于B表的ID

           NOT IN: SELECT ID FROM A WHERE ID NOT IN (SELECT ID FROM B)

-------------------优化-----------------

NOT EXSISTS: SELECT ID FROM A WHERE NOT EXISTS (SELECT ID FROM B WHERE B.ID=A.ID)

在数据量小的时候你不知道有什么不同,不过当数据量庞大(30万吧)的时候,你就发现

EXISTS和NOT EXISTS是否是优化了 :-)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics