not exists and not exists
时间: 2023-11-03 18:22:09 浏览: 95
do_not_exist
引用:在MySQL中,"not in"和"not exists"是用于查询和筛选数据的两种常见方法。它们的区别在于查询过程和结果处理方式。
"not in"查询过程中,先执行子查询获得查询结果集,然后将结果集与外部查询的结果进行比较,找出不满足条件的数据。这种方法适用于外部查询结果集较小的情况,因为每次比较都需要遍历完整的子查询结果集。
"not exists"查询过程中,使用子查询来判断外部查询中的每一行是否存在于子查询的结果集中。具体做法是,对于外部查询的每一行,在子查询中查找是否存在满足条件的行,如果存在,则忽略该行,否则返回该行数据。这种方法相对于"not in"更加高效,特别适用于外部查询结果集较大的情况。
总结起来,"not in"和"not exists"都可以用来筛选不满足条件的数据,但在使用时需要考虑查询的效率和数据量的大小。如果外部查询结果集较小,可以使用"not in";如果外部查询结果集较大,推荐使用"not exists"。<span class="em">1</span>
阅读全文