selec * from t_shop ts left outer join t_member tm on ts.shopid = tm.shopid and tm.memberid is not null
和 selec * from t_shop ts left outer join t_member tm on ts.shopid = tm.shopid where tm.memberid is not null
两句话执行结果有时候会是不同的,因为第一句是先将符合条件的member 与shop 做左外连接,查 出来的是:所有shop的数据,有会员的包含会员信息,没有会员的以空代替(跟没加条件没区别)
而第二句做的先是将shop 与member 表做左外连接,查出所有shop的信息,与第一句功能一样,然后在在结果集中筛选所有会员id不为空的数据,所以第二句查的是所有有会员的shop的信息
当然如果每个店铺都有会员的话就不存在区别喽