mysql> select from tab_user u left join tab_order o on u.name=o.name and u.name='lisi';
图1
查询语句2:

mysql> select from tab_user u left join tab_order o on u.name=o.name where u.name='lisi';
图2
图1和图2结果的差别缘故原由是在利用left join时,on和where条件的差异造成的:
1、 on中的条件不管是否为真,都会返回左边表中的记录,以是总记录数始终跟左表记录数保持同等。
2、where条件是在临时表天生好后再过滤的,以是总记录数是随着where条件而变革的。