将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,这一行行可作为外查询的结果行,否则不能作为结果。
先上表
过程:外查询Persons表,提取出数据到EXISTS内查询做验证,
因为SELECT NULL有返回一行数据,所以所有外查询数据都提取到了。
过程:外查询Persons表,提取出数据到EXISTS内查询做验证,
因为SELECT 语句没有行数据,所以所有外查询数据都没有验证通过,返回空。
示例:查询有订单的人员信息。
过程:外查询Persons表,提取出数据到EXISTS内查询做验证,
只有有订单信息的人员数据才会通过验证进入结果集。