left jion中的on和where条件中的区别
如下实例:
on是两个表匹配过程中需要筛选出的条件,不管后面的条件成不成立不影响a表的数据显示
如:
select a.name,
b.address
from user a left join addr b on a.user_id=b.user_id and b.user_addr="南京市"
where是指整个结果的筛选条件。直接不成立则无结果
select a.name,
b.address
from user a left join addr b on a.user_id=b.user_id
where b.user_addr="南京市"
如下实例:
on是两个表匹配过程中需要筛选出的条件,不管后面的条件成不成立不影响a表的数据显示
如:
select a.name,
b.address
from user a left join addr b on a.user_id=b.user_id and b.user_addr="南京市"
where是指整个结果的筛选条件。直接不成立则无结果
select a.name,
b.address
from user a left join addr b on a.user_id=b.user_id
where b.user_addr="南京市"