今天碰到的一个面试题,求解?

garfieldzf 2013-02-26 08:34:18
表A

表B


执行语句:update AA set name=name+(select name from BB b where AA.id=b.id)

表A结果:
id name
1 111A222A
2 111B222B
3 NULL


这却是为何? id为3的name为何是null而不是111C?
...全文
239 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
garfieldzf 2013-02-26
  • 打赏
  • 举报
回复
引用 1 楼 SmithLiu328 的回复:
SELECT 111C+NULL = NULL
多谢指点
garfieldzf 2013-02-26
  • 打赏
  • 举报
回复
引用 2 楼 szm341 的回复:
因为B表没有id=3列,所以(select name from BB b where AA.id=b.id)返回null null与任何值进行计算结果还是null,所以A表的id=3列被赋值了null
多谢指点。
szm341 2013-02-26
  • 打赏
  • 举报
回复
因为B表没有id=3列,所以(select name from BB b where AA.id=b.id)返回null null与任何值进行计算结果还是null,所以A表的id=3列被赋值了null
KevinLiu 2013-02-26
  • 打赏
  • 举报
回复
SELECT 111C+NULL = NULL

34,590

社区成员

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

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