ON是连接条件,WHERE是结果条件
假设有两个表 
a表  记录会员信息(名字)
     id     name    
      1     tom         
      2     mary        
      3     jerry     
      4     john    
         
 b表  记录会员所有的好友信息,(名字及是否在线)
       id     pid     friend     isonline
        1      1       cherry         1
        2      3       stone          0
        3      4       york           0
        4      1                  1
        5      3       mary           1下面我们想统计每个会员有多少个好友在线,使用下面的语句即可
select a.id,a.name,count(b.friend) from a 
left join b on a.id=b.pid and b.isonline =1
group by a.id这个时候结果如下
a.id     a.name    count(b.friend)
  1        tom           2
  2        mary          null
  3        jerry         1
  4        john          0
但如果使用
select a.id,a.name,count(b.friend) from a 
left join b on a.id=b.pid 
where b.isonline = 1
group by a.id
结果如下
a.id     a.name    count(b.friend)
  1        tom           2
  3        jerry         1结果1的NULL表明该会员没有好友, 结果2只显示了有好友并且有在线好友的会员,在线好友为0的也不会显示,因为where将连接后的结果重新过滤,