- 带有 EXISTS 关键字的子查询不返回任何数据,只返回逻辑结果 true 或着 false
- EXISTS 关键字会对主表进行迭代, 关键字将主查询的每条数据在子查询结果集中查找,如果返回为 true,就保留数据,否则排除数据
语法
operand EXISTS (subquery);
参数 |
说明 |
operand |
操作的逻辑对象 |
subquery |
子查询语句 |
示例
SELECT column1
FROM t1
WHERE EXISTS (SELECT * FROM t2);
NOT EXISTS 不包含
- NOT EXISTS 是 EXISTS 关键字的反向结果, 如果值不在值集内,则返回 true。 否则,它返回 false
语法
operand NOT EXISTS (subquery);
参数 |
说明 |
operand |
操作的逻辑对象 |
subquery |
子查询语句 |
示例
SELECT column1
FROM t1
WHERE NOT EXISTS (SELECT * FROM t2);
来自 <https://dev.mysql.com/doc/refman/8.0/en/exists-and-not-exists-subqueries.html>