Maison  >  Article  >  base de données  >  Mysql Left Join Where On

Mysql Left Join Where On

WBOY
WBOYoriginal
2016-06-07 15:33:441378parcourir

select t1.id,t2.id from t1 left join t2 on t1.id = t2.id and t1.id 1 and t2.id 3 在mysql的left join中条件放在on后面和在where后面是不同的; 1. on后面只针对于t2表进行过滤,所以上面的 t1.id1 将不起作用,切记,切记; 2. where后面会对最终结果产

select t1.id,t2.id
from t1
left join t2 on t1.id = t2.id and t1.id>1 and t2.id3

在mysql的left join中条件放在on后面和在where后面是不同的;

1. on后面只针对于t2表进行过滤,所以上面的t1.id>1将不起作用,切记,切记;

2. where后面会对最终结果产生影响,所以如果t2.id3放到on后面和where后面也是会返回不同的结果;

  例如下面脚本一会比脚本二多返回一些数据。

select * from test2
left join test1 on test2.id = test1.id and test1.id3
where test2.id 6;
select * from test2
left join test1 on test2.id = test1.id
where test2.id 6 and test1.id3;

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:mysql批量更新Article suivant:mysql 时间类型总结