使用LEFT JOIN更新MySQL中的多个表

使用LEFT JOIN更新MySQL中的多个表,第1张

使用LEFT JOIN更新MySQL中的多个表
UPDATe  t1LEFT JOIN        t2ON      t2.id = t1.idSET     t1.col1 = newvalueWHERe   t2.id IS NULL

请注意,

SELECT
使用
NOT IN
/
NOT EXISTS
语法会更有效:

SELECT  t1.*FROM    t1WHERe   t1.id NOT IN        (        SELECt  id        FROM    t2        )

有关性能的详细信息,请参见我的博客中的文章:

  • 查找不完整的订单
    LEFT JOIN
    NOT IN

不幸的是,

MySQL
不允许在
UPDATE
语句的子查询中使用目标表,这就是为什么您需要坚持使用效率较低的
LEFT JOIN
语法的原因。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5014564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存