今天在做项目的时候忽然发现一个很容易忽视的UPDATE SET FROM 语句功能的问题.
在前几篇文章里面写了关于UPDATE DELETE 与LEFT JOIN之间的问题. 今天用UPDATE SET FROM 来对比一下.
直接写测试代码.
- CREATE TABLE a(col1 int,col2 varchar(20),col3 varchar(20))
- INSERT a (col1,col2,col3) VALUES(1,'a','b')
- INSERT a (col1,col2,col3) VALUES(2,'a1','b1')
- INSERT a (col1,col2,col3) VALUES(3,'a','b')
- CREATE TABLE b(col1 int,col2 varchar(20),col3 varchar(20))
- INSERT b (col1,col2,col3) VALUES(1,'c','b')
- INSERT b (col1,col2,col3) VALUES(2,'c1','b1')
- INSERT b (col1,col2,col3) VALUES(3,'c2','b')
- UPDATE a SET a.col2=b.col2 FROM b WHERE a.col1=b.col1
- SELECT * FROM a
- DROP TABLE a
- DROP TABLE b
结果:
col1,col2,col3
1 c b
2 c1 b1
3 c2 b
大家看得到的结果应该可以知道这段代码的作用,我就不罗嗦了~~...
本文通过具体示例展示了如何使用 UPDATE SET FROM 语句更新表 a 的 col2 字段值为表 b 中对应的值。实验结果显示,当 a 和 b 表的 col1 字段相等时,a 表的 col2 字段会被成功更新。
5292

被折叠的 条评论
为什么被折叠?



