更新使用过滤条件中包括自身的表

此方法不能无法在mysql中使用
`UPDATE user1 SET over='齐天大圣' WHERE user1.user_name IN ( SELECT b.user_name FROM user1 a INNER JOIN user2 b ON a.user_name = b.user_name)
使用join语句优化
UPDATE user1 a JOIN (
SELECT b.user_name FROM user1 a INNER JOIN user2 b ON
a.user_name = b.user_name
)b ON a.user_name = b.user_name
SET a.over = '齐天大圣'

使用left join优化子查询

一般语句

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
SELECT a.user_name,a.over,
(SELECT over FROM user2 b
WHERE a.user_name=b.user_name) AS over2
FROM user1 a;

lef join 优化语句

SELECT a.user_name,a.over,b.over AS over2
FROM user1 a
LEFT JOIN user2 b ON
a.user_name = b.user_name
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄