SELECT和UPDATE之间的区别 [英] A difference between SELECT and UPDATE

查看:174
本文介绍了SELECT和UPDATE之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI SQL专家,

我有一个简单的SQL查询来连接2个表:

HI SQL Experts,
I have a simple SQL query to join 2 tables:

select veh.[YEAR],veh.MAKE,veh.model,veh.TRIMLIST,veh.ICID,vif.[vif #] from [TheVehListBeta2015-04-21] veh
   inner join [vifList2015-05-04] vif
   on veh.[YEAR]=vif.Yr
   and veh.MAKE=vif.make
   and veh.MODEL=vif.model
   and  (TRIMLIST like '%' + vif.Trim + '%' + Convert(nvarchar(10),vif.Drs) + '%' + vif.Body + '%' )
   order by [YEAR],MAKE,model



此查询的结果是: 4983 记录

如果我使用相同的查询来更新数字则不同。以下是我尝试更新的2个不同查询:

(1)


The result of this query is: 4983 records
If I use the same query to update the number is different. Here is 2 different queries to update I have tried:
(1)

update [TheVehListBeta2015-04-21]  set EVOXID=vif.[vif #]
from [vifList2015-05-04] vif
Where [TheVehListBeta2015-04-21].YEAR=vif.Yr
and [TheVehListBeta2015-04-21].MAKE=vif.Make
and [TheVehListBeta2015-04-21].MODEL=vif.Model
 and  TRIMLIST like '%' + vif.Trim + '%' + Convert(nvarchar(10),vif.Drs) + '%' + vif.Body + '%' 



(2 )


(2)

update [TheVehListBeta2015-04-21] 
   set [TheVehListBeta2015-04-21].EVOXID=vif.[VIF #]
   from [TheVehListBeta2015-04-21] veh inner join [vifList2015-05-04] vif 
   on veh.[YEAR]=vif.Yr
   and veh.MAKE=vif.make
   and veh.MODEL=vif.model
   and  (TRIMLIST like '%' + vif.Trim + '%' + Convert(nvarchar(10),vif.Drs) + '%' + vif.Body + '%' )



UPDATE查询给出:( 4192 行受影响)



有谁知道差异在哪里?

谢谢!


UPDATE query gives: (4192 row(s) affected)

Does anyone know where is the difference?
Thank you!

推荐答案

更新反映更改的行数,与 select 是那些设置了相同值的行,因此没有更改。
Update reflects the number of rows changed, the difference with the select is those rows which have the same value being set hence not changed.


这篇关于SELECT和UPDATE之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆