on和where使用的差别
来源:2-3 联表查询
蟹黄豆沙包
2022-03-27 14:45:14
上面这题想请问一下,求平均进度大于60%的视频
SELECT T2.tag,
CONCAT(ROUND(AVG(IF(TIMESTAMPDIFF(SECOND,start_time,end_time)>=duration,1,
TIMESTAMPDIFF(SECOND,start_time,end_time)/duration
))*100,2),"%")
AS avg_play_progress
FROM tb_user_video_log AS T1
LEFT JOIN tb_video_info AS T2
ON T1.video_id=T2.video_id
GROUP BY tag
HAVING REPLACE(avg_play_progress,'%','') > 60
ORDER BY avg_play_progress desc
为什么要用 ON T1.video_id=T2.video_id ,where就没法运行
1回答
DeltaF
2022-03-30
join是表连接,where是条件判断,但如果是比较复杂的sql查询或者是多次连续调用的话就有区别了
where是擅长条件判断,join是擅长表与表之间的联合查询,在多表查询的时候join➕on
相似问题
回答 1
回答 1