当前位置: 代码迷 >> Sql Server >> 今日碰到的一个面试题,求解
  详细解决方案

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

热度:86   发布时间:2016-04-24 23:32:49.0
今天碰到的一个面试题,求解?
表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? 

------解决方案--------------------
SELECT 111C+NULL = NULL
------解决方案--------------------
因为B表没有id=3列,所以(select name from BB b where AA.id=b.id)返回null
null与任何值进行计算结果还是null,所以A表的id=3列被赋值了null
  相关解决方案