sql exists与not exists区别

avatar
作者
筋斗云
阅读量:0

  • EXISTS是一个谓词,用来检查是否存在满足指定条件的行。如果存在,则返回TRUE,否则返回FALSE。
  • NOT EXISTS是EXISTS的反义词,用来检查不存在满足指定条件的行。如果不存在,则返回TRUE,否则返回FALSE。

举例来说,假设我们有两个表A和B,我们想要查询在表A中存在但在表B中不存在的记录。可以使用NOT EXISTS来实现这个目的:

SELECT *  FROM tableA a WHERE NOT EXISTS (     SELECT 1     FROM tableB b     WHERE a.id = b.id ); 

这个查询将返回在表A中存在但在表B中不存在的记录。而如果使用EXISTS,则会返回在表A中存在且在表B中也存在的记录。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!