EXISTS 和 NOT EXISTS 的区别是什么?
时间: 2024-06-12 19:10:01 浏览: 188
mysql exists与not exists实例详解
5星 · 资源好评率100%
EXISTS 和 NOT EXISTS 是 SQL 中用于子查询的关键字,它们的区别在于:
- EXISTS:如果子查询返回至少一行结果,则返回 TRUE,否则返回 FALSE。
- NOT EXISTS:如果子查询返回至少一行结果,则返回 FALSE,否则返回 TRUE。
举个例子,假设我们有两个表 A 和 B,现在想要查询 A 表中存在于 B 表中的记录,可以使用 EXISTS:
```
SELECT *
FROM A
WHERE EXISTS (
SELECT *
FROM B
WHERE A.id = B.id
);
```
如果想要查询 A 表中不存在于 B 表中的记录,可以使用 NOT EXISTS:
```
SELECT *
FROM A
WHERE NOT EXISTS (
SELECT *
FROM B
WHERE A.id = B.id
);
```
阅读全文