数据库之SQL更新语句中update set from用法

执行一般的sql更新语句为update table_name set column_name=value where column_name1=value1;但是我们有时候需要将某个表用的字段根据两个表中相关字段更新为另一个表中某个字段的数据,即a表中主键aid在b表中有个外键bid相关,b表中字段b需要根据a、b表对应id更新为a表中字段c的数据,如果根据以上的sql一条一条的更新会非常浪费时间,所以我们需要用到update set from的语句用法。
在数据库中有一张表为student,如下所示:

如果以真实的情况来看的话,在一张学生表里,那么有些人的年龄是录入错误的,那么我们需要修改这些错误,在数据量非常大的情况下,这些数据修改起来是很费时间的,所以我们可以用一张excel表核对好所有学生信息,然后导入数据库,成为一张临时的表。

以下为我们导入的临时表:

其中student_id为生成的guid,那么我们现在需要根据名字在更新他们的年龄,执行以下sql语句:

update student set age=tm.age from temporary tm where student.name=tm.name

执行成功后,就可以看到我们的student表已经更新成功了:

你可能感兴趣的:(数据库之SQL更新语句中update set from用法)