select * from user where exists (select * from order where user.id = order.user_id)
exists会先查前面的表(user) 然后再和后面的表(order)关联筛选出结果
select * from user where in (select user_id from order)
in会先查后面的表(order)然后再和前面的表(user)关联筛选出结果
所以外层的表数据量大的时候使用in,反之则用exists