SQL - 更新select语句中的记录

时间:2017-11-05 15:25:18

标签: mysql sql sql-update

假设您正在加入两个表,但是您选择要使用新值更新的列之一,是否必须将其作为两个单独的语句执行,还是可以在select查询中嵌入更新语句?

即。

SELECT table1.xxx, table1.yyy, table2.zzz
FROM table1 JOIN
      table2
     ON table1.xxx = table2.zzz
WHERE table1.xxx = 'Y'

UPDATE table1
    SET xxx = 'YES'
    WHERE xxx = 'Y'

这是否有意义,或者您是否需要执行更新语句,然后单独执行选择查询?

1 个答案:

答案 0 :(得分:3)

如果您需要联接来过滤您需要更新的行,您可以使用Update with join例如:

  UPDATE table1
  JOIN  table2  ON table1.xxx = table2.zzz
  SET table1.xxx = 'YES'
  WHERE table1.xxx = 'Y'