根据一个表的数据更新另一个表数据的 SQL 写法
方法一:使用 JOIN 语句
UPDATE tableSET column= table.column
JOIN table ON table.id = table.id;
方法二:使用子查询
UPDATE table
SET column= (
SELECT column
FROM table
WHERE table.id = table.id
);
方法三:使用 MERGE 语句(MySQL .0 及更高版本)
MERGE INTO tableAS t
USING table AS t
ON t.id = t.id
WHEN MATCHED THEN
UPDATE SET column= t.column;
示例
假设有以下两个表:
table:包含具有 id 和 name 列的数据 table:包含具有 id 和 description 列的数据要使用 table 中的 name 更新 table中的 description,可以使用以下 SQL 查询:
0
-- 使用 JOIN 语句
UPDATE tableSET description = table.name
JOIN table ON table.id = table.id;
-- 使用子查询
UPDATE table
SET description = (
SELECT name
FROM table
WHERE table.id = table.id
);
-- 使用 MERGE 语句(MySQL .0 及更高版本)
MERGE INTO tableAS t
USING table AS t
ON t.id = t.id
WHEN MATCHED THEN
UPDATE SET description = t.name;
以上就是mysql根据一个表的数据更新另一个表数据的SQL写法的详细内容,更多请关注其它相关文章!