mysql exists与not exists实例详解
作者:zcqshine
这篇文章主要介绍了mysql exists与not exists实例详解的相关资料,鉴于 not exists 的效率往往要高于 not in , 所以一般情况下会使用前者替代后者,需要的朋友可以参考下
mysql exists与not exists实例详解
tableA
|column1 | column1 |column3 |
tableb
|column1 | column1 |column3 |
要查询 tableA 的数据,条件是是 tableA.column1 不在 tableB 的 tableB.column2 中
也就是要得到类似以下语句的效果(not in 效果不完全等同于 not exists , 如果子查询中出现空记录, 则整个查询语句不会返回数据)
SELECT a.* FROM tableA a WHERE a.column1 not in ( SELECT column2 FROM tableB )
可以使用如下语句来实现
SELECT a.* FROM tableA a WHERE NOT EXISTS( SELECT b.column2 FROM tableB b WHERE a.colunm1=b.column2 )
以上只是两张表的情况, 其实在多张表的连接查询中也是比较好用的. 以上写法同样适用于exists
以上就是mysql exists与not exists的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
- Mysql中in和exists的区别 & not in、not exists、left join的相互转换问题
- 浅谈mysql双层not exists查询执行流程
- mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录
- UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists
- mysql insert if not exists防止插入重复记录的方法
- MySQL: mysql is not running but lock exists 的解决方法
- 浅谈mysql的not exists走不走索引