exists是用来判断是否存在的,当exists中的查询存在结果时则返回真,否则返回假.not exists则相反. exists做为where 条件时,是先对where 前的主查询询进行查询,然后用主查询的结果一个一个的代入exists的查询进行判断,如果为真则输出当前这一条主查询的结果,否则不输出.即exists是对外表作loop循环,每次loop循环再对内表进行查询.而in 是把外表和内表作hash 连接.因此一直以来认为exists比in效率高的说法是不准确的. 由上分析可以知道如果查询…