两条update 语句的区别?

威嘉雨林 2016-03-19 05:09:27
update a set classKey=b.schoolClassId from Student as a ,TuitionIncome b
where a.id=b.studentId


update a set classKey=b.schoolClassId from Student as a left join TuitionIncome b on a.id=b.studentId

b.schoolClassId 中有数据,classKey为NULL,这两条语句有何区别,为什么?
...全文
134 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ginnnnnnnn 2016-03-21
  • 打赏
  • 举报
回复
语句1 ,只有 a.id=b.studentId 的数据才会更新到classKey 列上 语句2 ,a的所有classKey都会更新,如果在b表中不能找到 studentId ,则更新为 Null值
mingqing6364 2016-03-19
  • 打赏
  • 举报
回复
同样的from、where,select出来什么就会update什么,不确定update的结果,可以select一下
中国风 2016-03-19
  • 打赏
  • 举报
回复
update a set classKey=b.schoolClassId from Student as a ,TuitionIncome b where a.id=b.studentId --条件成立的才更新 update a set classKey=b.schoolClassId from Student as a left join TuitionIncome b on a.id=b.studentId ---所有都更新,条件不成立的更新的为NULL

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧