在编写SQL语句时,假设要实现一张表有而另外一张表没有的数据时。 通常第一直觉的写法是:

select * from table1 where table1.id not in(select id from table2)

这样的写法尽管看起来非常直观。可是运行的效率会非常低下,在数据量非常大的时候效果尤其明显,我们推荐使用not exists或左连接来取代。

select a.* from table1 a left join table2 b on a.id=b.id where b.id is null

相同。这样的方法也适用于in

最新文章

  1. iOS 串行网络请求。。。待研究
  2. 在Android下运行Linux平台编译的程序
  3. 给你的Mr.Right画张择偶地图像
  4. C# SQL优化 及 Linq 分页
  5. [shell基础]——paste命令
  6. Oracle数据库编程:在JDBC中应用Oracle
  7. python pil 安装
  8. Codevs 1173 最优贸易 2009年NOIP全国联赛提高组
  9. <一> jQuery 简单介绍
  10. APP如何设计才能适配iphone6/plus和iphone5
  11. 解决无法切换到jenkins用户的问题
  12. PHP字符串常用操作
  13. [Codeforces 863B]Kayaking
  14. Java连接数据库,及增删改查
  15. C语言学习随笔记
  16. BZOJ4675
  17. 在平衡树的海洋中畅游(三)——Splay
  18. 洛谷P1198 [JSOI2008]最大数(BZOJ.1012 )
  19. 不安装Oracle数据库使用plsqldevloper
  20. VLAN 及 GVRP 配置

热门文章

  1. hdoj--1237--简单计算器(栈模拟)
  2. react ---- Router路由的使用和页面跳转
  3. C#篇(一)——字段与属性
  4. 关于概率算法的问题,不知道逻辑错在哪里,求debug
  5. 日前加拿大平板厂商 Datawind和印度运营商Reliance Communications日前宣布合作
  6. PostgreSQL环境中查看SQL执行计划示例
  7. 《剑指offer》变态跳台阶
  8. sql中--行处理数据的两种方式
  9. git新克隆代码的时候ssh协议
  10. MySQL 大数据量文本插入