SQL语句问题,不知道是否正确,求指导

SQL语句问题
目的查询次日留存,语句中join表on后,为什么会连AND datediff的这个语句,这点不是很理解,这个语句的连接是否是正确的?请了解能够指导下,谢谢。

select u.dayno 日期,count(distinct s.uid) '次日留存'
from userinfo u
left join userinfo s
on u.uid = s.uid
AND
DATEDIFF(s.dayno,u.dayno)=1
where u.app_name='相机'
and
s.app_name='相机'
group by u.dayno;

and加在left join之后,表示条件只适合用于left join,它不管on中的条件是否为真,都会返回左边表中的记录,加在where之后则表示是对结果数据筛选,如以下sql

img

img

img

这是相差多少天 你看下里面的值差就知道了 对不对得上你要的结果