龙空技术网

sql中left join on 多个条件需要特殊注意之处

永远年轻fv 645

前言:

眼前咱们对“mysql中的join on”大体比较关心,各位老铁们都需要了解一些“mysql中的join on”的相关内容。那么小编同时在网上搜集了一些对于“mysql中的join on””的相关资讯,希望大家能喜欢,你们一起来了解一下吧!

查询语句1:

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条件而变化的。

标签: #mysql中的join on