sql查询left join on 后and 和 where 的区别

left join on 后and 条件查询

例子:SELECT a.FROM_TYPE ,a.USER_ACCOUNT userAccount
FROM hzzs_finance_money_flow_detail a LEFT JOIN hzzs_player_user bsql

ON a.USER_ID = b.ROW_ID AND a.FROM_TYPE = 10       =ON (a.USER_ID = b.ROW_ID AND a.FROM_TYPE = 10 )spa

解释:当ON 后采用 AND 进行链接时, and后边的条件实际上是 与ON 后条件进行组装成一条,只对left join 后的表进行查询 blog

能够看到 AND a.FROM_TYPE = 10为条件时,也查出FROM_TYPE  = 20 的数据,这是由于 采用and进行查询条件时是组装在ON以后的查询条件的,假如此条件查询的是左表就不会起做用,假如此条件查询的是右表的话就会起做用  ,由于ON 后的条件只对右表起做用.      im

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做为条件是组装表时的sqlimg

where 做为条件时 对查询出的表 再进行条件的筛选co

相关文章
相关标签/搜索