最近文章 wordpress,百度seo优化软件,投资建设项目管理师报名网站,在360做网站和百度做网站的区别最近使用mysql的时候碰到一个问题#xff1a;当一个表外联另一个表的时候#xff0c;将一些查询条件放在on后面和放在where后面不太一样#xff1a;学生分数表stuscore#xff1a;当查询语句如下(查询语句1)#xff1a;SELECT a.name,a.subject,a.score,a.stuid ,b.name,b…最近使用mysql的时候碰到一个问题当一个表外联另一个表的时候将一些查询条件放在on后面和放在where后面不太一样学生分数表stuscore当查询语句如下(查询语句1)SELECT a.name,a.subject,a.score,a.stuid ,b.name,b.subject,b.score,b.stuidFROM stuscore aLEFT JOIN stuscore b ON a.subjectb.subject WHERE a.score 100查询结果如下查询结果为空当查询语句如下时(查询语句2)SELECT a.name,a.subject,a.score,a.stuid ,b.name,b.subject,b.score,b.stuidFROM stuscore aLEFT JOIN stuscore b ON a.subjectb.subject AND a.score 100查询的结果如下我发现查询结果不为空但是后面的字段都为空。总结原因当条件放在on后面的时候(如查询语句2)后面的条件作为连接条件如果不满足则显示左的一条数据由标的查询字段都用null填充当条件放在where后面的时候(如查询语句1)后面的条件作为查询条件是在连表以后再过滤的条件只要不满足就过滤掉所以查询出来的结果为空。所以一定要知道外连接的查询原理。