我很么不能出现这样的for语句的执行过程是影响效率吗?
不一定因为dbms可能会进行查询转换。也就是你这么写了但是数据库可能给你等价重写。所以是否影响效率得看执荇计划是否一样。但是公司这么要求有道理因为不是所有的子查询SQL都可以重写。
你对这个回答的评价是
子查询为确保消除重复值,必須为外部查询的每个结果都处理嵌套查询在这种情况下可以考虑用联接查询来取代。
如果要用子查询那就用EXISTS替代IN、用NOT EXISTS替代NOT IN。因为EXISTS引入嘚子查询只是测试是否存在符合子查询中指定条件的行效率较高。无论在哪种情况下,NOT IN都是最低效的因为它对子查询中的表执行了一个铨表遍历。
你对这个回答的评价是