update set from

 今天在做项目的时候忽然发现一个很容易忽视的UPDATE SET FROM 语句功能的问题.

在前几篇文章里面写了关于UPDATE DELETE 与LEFT JOIN之间的问题. 今天用UPDATE SET FROM 来对比一下.

直接写测试代码.

 

  1. CREATE TABLE a(col1 int,col2 varchar(20),col3 varchar(20))
  2. INSERT a (col1,col2,col3) VALUES(1,'a','b')
  3. INSERT a (col1,col2,col3) VALUES(2,'a1','b1')
  4. INSERT a (col1,col2,col3) VALUES(3,'a','b')
  5. CREATE TABLE b(col1 int,col2 varchar(20),col3 varchar(20))
  6. INSERT b (col1,col2,col3) VALUES(1,'c','b')
  7. INSERT b (col1,col2,col3) VALUES(2,'c1','b1')
  8. INSERT b (col1,col2,col3) VALUES(3,'c2','b')
  9. UPDATE a SET a.col2=b.col2 FROM b WHERE a.col1=b.col1
  10. SELECT * FROM a 
  11. DROP TABLE a
  12. DROP TABLE b

结果:

col1,col2,col3

1      c        b

2     c1       b1

3     c2        b

 

大家看得到的结果应该可以知道这段代码的作用,我就不罗嗦了~~...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章