今天碰到的一个面试题,求解?
表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