带有 [NOT] EXISTS 的子查询

Exisi 2023-03-04 16:04:02
Categories: Tags:
  • 带有 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>