温馨提示×

sql exists与not exists区别

sql
小樊
106
2024-07-08 12:18:14
栏目: 云计算

  • 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中也存在的记录。

0