Mysql Exists 和Not Exists用法

这里着重介绍Not Exists(Exists用法类似),Not Exists 不存在

  • 用法:
    Select * from TableA a where Not Exists (Select * from TableB b where a.id=b.id and a.name=b.name);
  1. Not Exists 用在where之后,且后面紧跟子查询语句(带括号);
  2. Not Exists(Exists) 并不关心子查询的结果具体是什么,只关心子查询有没有结果;
  3. 这条语句的意思,把TableA的记录逐条代入到子查询,如果子查询结果集为空,说明不存在,那么这条TableA的记录出现在最终结果集,否则被排除;
  • 用法:
    Select * from TableA a where Not Exists (Select 1 from TableB);

这条语句子查询无论什么情况下都不为空,导致最终的结果集为空,因为TableA中每条记录对应的子查询都有结果集,表示都存在,所以最终结果集为空;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。