mssql sql server where 查询结果不对


sql 列设置为允许null时,会给查询带来巨大的漏洞,
往往查询得到的结果并不是想要的结果,
所以在数据库设计中,尽量将列设置为 not null

 create table A (keyId varchar(20),
name varchar(30))  --建表
go
insert into A(keyId,name)values('1','a')
insert into A(keyId,name)values('2','b')
insert into A(keyId,name)values('3','c')
insert into A(keyId,name)values('4','d')
insert into A(keyId,name)values('5','e')
insert into A(keyId)values('6')
go  ---插入六条记录,最后一条记录name列 设置一个空值

select * from A    ---展示所有数据,将显示六条结果,如下图所示
go
select * from A  where name !='d'   --展示name不等于d 的数据,发现name为null的值也未呈现出
go

truncate table A
drop table A 
go