读书人

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

发布时间: 2013-03-01 18:33:02 作者: rapoo

今天碰到的一个面试题,求解?
表A
今日碰到的一个面试题,求解
表B
今日碰到的一个面试题,求解

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

表A结果:
id name
1111A222A
2111B222B
3NULL


这却是为何? 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

读书人网 >SQL Server

热点推荐