这里有新鲜出炉的 Mysql 教程,程序狗速度看过来!
MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
这篇文章主要介绍了 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 的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源: http://www.phperz.com/article/17/0812/344154.html