关联子查询Update语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关联子查询Update语句相关的知识,希望对你有一定的参考价值。

技术分享
 --1.创建测试表
    create TABLE Table1
    (
        a varchar(10),
        b varchar(10),
        c varchar(10),
        CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
        (
            a ASC
        )
    ) ON [PRIMARY]

    create TABLE Table2
    (
        a varchar(10),
        c varchar(10),
        CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
        (
            a ASC
        )
    ) ON [PRIMARY]
    GO
    --2.创建测试数据
    Insert into Table1 values(,asds,null)
    Insert into Table1 values(,asds,100)
    Insert into Table1 values(,asds,80)
    Insert into Table1 values(,asds,null)

    Insert into Table2 values(,90)
    Insert into Table2 values(,100)
    Insert into Table2 values(,80)
    Insert into Table2 values(,95)
    GO
    select * from Table1

    --3.通过Update方式更新
    Update Table1 set c = (select c from Table2 where a = Table1.a) where c is null
    GO

    --4.显示更新后的结果
    select * from Table1
    GO
    --5.删除测试表
    drop TABLE Table1
    drop TABLE Table2
View Code
UPDATE Table1 
SET table1.c = table2.c 
FROM table2 
WHERE Table1.a= table2.a and Table1.c is null

 

以上是关于关联子查询Update语句的主要内容,如果未能解决你的问题,请参考以下文章

oracle中的update语句能用相关子查询么?

mssql sql高效关联子查询的update 批量更新

update 两个表关联 更新

SQL语句UPDATE 多表关联的

多表关联UPDATE语句怎么写呀?

在update语句中使用子查询