mysql exists与not exists
- 来源:纵横数据
- 作者:中横科技
- 时间:2018/1/5 9:43:07
- 类别:新闻资讯
mysql exists与not exists
tableA
|column1 | column1 |column3 |
tableb
|column1 | column1 |column3 |
要查询 tableA 的数据,条件是是 tableA.column1 不在 tableB 的 tableB.column2 中
也就是要得到类似以下语句的效果(not in 效果不完全等同于 not exists , 如果子查询中出现空记录, 则整个查询语句不会返回数据)
1 2 3 4 5 6 7 8 | SELECT a.* FROM tableA a WHERE a.column1 not in ( SELECT column2 FROM tableB ) |
可以使用如下语句来实现
1 2 3 4 5 6 7 8 | SELECT a.* FROM tableA a WHERE NOT EXISTS( SELECT b.column2 FROM tableB b WHERE a.colunm1=b.column2 ) |
以上只是两张表的情况, 其实在多张表的连接查询中也是比较好用的. 以上写法同样适用于exists