今天做了个存储过程,需要的功能是查询所有人的得分,有人没分就给零分,显而易见这里用左外连接是没有问题的, 但是在连接完之后有个根据时间筛选功能,于是我加了where条件判断,这时候没有想到的事情发生了,左外连接的作用没有 了,变得和内连接查询一样,没有得分的人不会被查询出来,后来问了人自己想了想,左外连接查询出来的是一个结果集,也 可以说是一张临时表,加上where之后就在查询出来的基础上筛选了一次,自然没有条件外的记录.正确的处理应该是把on后面的 where换成and来在连接的时候就进行查询…