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

 

大家看得到的結果應該可以知道這段代碼的作用,我就不羅嗦了~~...

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