原创 mysql连表查询条件语句放where前面和后面的区别

mysql sqlserver sqlite oracle postgresql
IT技术 · 继续停留 · 更新于 2019-04-04

mysql连表查询条件语句放where前面和后面的区别,示例如下

A. select * from a left join b on a.id=b.a_id a.delete=0 where a.status=1 and b.delete=0

B. select * from a left join b on a.id=b.a_id where a.status=1 and b.delete=0 and a.delete=0 

以上两句的语句都没有错,在联表查询的时候,A中可以在where前后加条件语句,这与B区别在于A中在联表前先获取a表中未删除的数据(先执行条件a.delete=0进行筛选a表的数据)然后再和b 表关联,而B语句中 是a先关联了b再进行条件筛选查询

|0 收藏|0

思考你要发的内容