当前位置:   article > 正文

mysql left join中on和where条件限制区别_限制条件写在where 和 写在左表的区别

限制条件写在where 和 写在左表的区别

现在有两张表,部门表,和用户表

 现在需要查询出各个部门里面女性的数量

下面两种写法对比下就知道了

  1. SELECT
  2. a.NAME,
  3. count( b.xb ) AS 女性人数
  4. FROM
  5. org a
  6. LEFT JOIN user_b b ON a.`name` = b.bm
  7. AND b.xb = '女'
  8. GROUP BY
  9. a.`name`;

 正常

  1. SELECT
  2. a.NAME,
  3. count( b.xb ) AS 女性人数
  4. FROM
  5. org a
  6. LEFT JOIN user_b b ON a.`name` = b.bm
  7. WHERE
  8. b.xb = '女'
  9. GROUP BY
  10. a.`name`;

这里明显就不对了.

区别很明显,where里面的条件会影响最后显示的数据,即限制左表的条件 

总结:mysql在left join语句中,左表过滤条件放在where条件中,右表过滤条件应该放on中

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/48948
推荐阅读
相关标签
  

闽ICP备14008679号