飞哥说:“小米,生产环境的管理系统涌现大问题了,在员工列表页面涌现,部门树和右侧的员工数量对不上,来日诰日集团要给各个子公司发福利活动,员工对不上没法统计,你要抓紧韶光搞定啊!
”
我说:“放心吧,飞哥,我这就去看看,担保完成任务”,实在心里打鼓,硬着头皮上吧。
登录生产环境的管理系统,查看报表,点击左侧的开拓部,创造部门树上面写的是“开拓部60人”,而右侧的分页列表只有50条,还差10条。

首先确定左侧部门的人数是如何算出来的,经创造员工表中有一字段专门存员工数,DDL截图如下:
创造在部门表中“employee_num”字段为60,而员工表中该部门求和为50。
办理问题为了快速修复这个问题,我想写一个sql语句通过汇总员工表中的人数直接插入到对应部门表中。sql语句如下所示:
实行完之后,创造部门的员工数对应上了,搞定!
在日常项目中,我们常常利用JOIN来查询具有(在某种情形下INNER JOIN)或可能没有(在这种情形下LEFT JOIN)另一个表中的行的表中的行。在MySQL中,我们可以利用UPDATE语句中的JOIN子句来实行跨表更新。
语法MySQL UPDATE JOIN 语法:
在子句后面指定主表(T1)和主表要加入的表(T2)UPDATE。请把稳,必须在UPDATE 子句后指定至少一个表。表中未在UPDATE 子句后指定的数据将不会更新。指定一种加入INNER JOIN 或LEFT JOIN 和联接谓词。JOIN必须在UPDATE之后涌现。将新值分配给要更新的T1(和/或)T2表中的列。在WHERE子句中指定条件以将行限定为行以进行更新。如果按照UPDATE语句教程进行操作,我们会把稳到还有另一种利用以下语法更新数据交叉表的方法:
UPDATE语句“UPDATE JOIN ”与隐式“INNER JOIN ”子句的浸染相同 。我们可以按如下办法重写上述语句:
写在末了
好兄弟可以点赞并关注我的"大众号“javaAnswer”,全部都是干货。