select中的not exists并不是它后面跟的语句生成一个集合,然后前面部分查出的记录进来比对.而是可以理解为前面部分每查出一条记录,就对这条记录看看它是不是不满足not exists后面的语句.
举例:
select A.IP from table1 as A where not exists(select IP from table2 as B where A.IP = B.IP)
执行步骤为:
1. 读取A中的一条记录
2. 拿这条记录的数据看它是否不满足A.IP = B.IP