下面我建两个表,并执行一系列sql语句,仔细观察sql执行后表中数据的变化,很容易就能理解多表联合更新的用法
    student表 class表
    Mysql update多表联合更新 - 图1 Mysql update多表联合更新 - 图2

    1. 执行 UPDATE student s , class c SET s.class_name=’test00’,c.stu_name=’test00’ WHERE s.class_id = c.id
      student表 class表
      Mysql update多表联合更新 - 图3 Mysql update多表联合更新 - 图4

    2. 执行 UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name=’test11’,c.stu_name=’test11’
      student表 class表
      Mysql update多表联合更新 - 图5 Mysql update多表联合更新 - 图6

    3. 执行 UPDATE student s LEFT JOIN class c ON s.class_id = c.id SET s.class_name=’test22’,c.stu_name=’test22’
      student表 class表
      Mysql update多表联合更新 - 图7 Mysql update多表联合更新 - 图8

    4. 执行 UPDATE student s RIGHT JOIN class c ON s.class_id = c.id SET s.class_name=’test33’,c.stu_name=’test33’
      student表 class表
      Mysql update多表联合更新 - 图9 Mysql update多表联合更新 - 图10

    1. 执行 UPDATE student s JOIN class c ON s.class_id = c.id SET s.class_name=c.name , c.stu_name=s.name
      student表 class表
      Mysql update多表联合更新 - 图11 Mysql update多表联合更新 - 图12

    update test1
    set name=(select name from test2 where test2.id=test1.id),
    age=(select age from test2 where test2.id=test1.id)