left join on 后and 条件查询
例子:SELECT a.FROM_TYPE ,a.USER_ACCOUNT userAccount
FROM hzzs_finance_money_flow_detail a LEFT JOIN hzzs_player_user b
ON a.USER_ID = b.ROW_ID AND a.FROM_TYPE = 10 =ON (a.USER_ID = b.ROW_ID AND a.FROM_TYPE = 10 )
解释:当ON 后采用 AND 进行连接时, and后边的条件其实是 与ON 后条件进行组装成一条,只对left join 后的表进行查询
可以看到 AND a.FROM_TYPE = 10为条件时,也查出FROM_TYPE = 20 的数据,这是因为 采用and进行查询条件时是组装在ON之后的查询条件的,假如此条件查询的是左表就不会起作用,假如此条件查询的是右表的话就会起作用 ,因为ON 后的条件只对右表起作用.
left join on 后 where 条件查询
例子:SELECT a.FROM_TYPE ,a.USER_ACCOUNT userAccount
FROM hzzs_finance_money_flow_detail a LEFT JOIN hzzs_player_user b
ON a.USER_ID = b.ROW_ID WHERE a.FROM_TYPE = 10
使用wehere进行条件查询时,where 是对前面sql所查询出的表 再进行条件的筛选,
总结
and作为条件是组装表时的sql
where 作为条件时 对查询出的表 再进行条件的筛选