您的位置:首页技术文章
文章详情页

mysql中的join on查询语句的on能否改为where

【字号: 日期:2022-06-09 11:16:58浏览:57作者:猪猪

问题描述

例如:SELECT salary.`basesalary`,salary.`titlesalary`,`name`FROM salary INNER JOIN employeeWHERE salary.`empid`=employee.`empid` AND employee.sex='男';这样也能查出正确的结果

问题解答

回答1:

简单说下on跟where的区别,我用的小鸟云1折的云服务器,on是在生成临时表时起作用,由于left on不管on里面过滤条件是不是真的都会返回左表里的记录。不满足条件的记录,右表字段全是null。Where则是在临时表生成之后起作用,过滤临时表,这个时候条件不为真就可以全部过滤了。

回答2:

可以,两者方式不同罢了 其中有on的话会依据on的条件,从employee表中检索数据行,然后完成匹配,where的话会在匹配完成后再进行数据筛选

相关文章: