SQL中怎样用SELECT语句来UPDATE一个表?

在SQL Server中,可以使用Select语句来insert一张表中记录到另一张表中,例如我们希望将col等于’cool’的行记录插入到表TableA中:

INSERT INTO TableA (col, col2, col3)
    SELECT col, col2, col3 FROM TableB WHERE col = 'cool'

那么,是否可以将select语句同样用于表的update呢,例如,有两张表,我希望将TableA中col3等于’cool’的记录的某些属性Update成TableB中对应的值,怎么实现呢?

我们需要用到INNER JOIN来实现,Code如下:

UPDATE
    Table_A
SET
    Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM
    TableNameA AS Table_A
    INNER JOIN TableNameB AS Table_B
        ON Table_A.id = Table_B.id
WHERE
    Table_A.col3 = 'cool'

by Code问答

发表评论

电子邮件地址不会被公开。 必填项已用*标注

60 + = 62