日期:2014-05-17  浏览次数:20572 次

小白请教个问题,IS NULL和IS NOT NULL
请问条件里面IS NULL和IS NOT NULL是什么意思。下面两句返回结果一样。我有点模糊了。

SELECT A.* FROM tw_tb AS A
LEFT JOIN tw_tb2 AS B ON A.name=B.name
WHERE B.name IS NULL

SELECT * FROM tw_tb WHERE NOT EXISTS
(SELECT * FROM tw_tb2 WHERE tw_tb.name=tw_tb2.name)

------解决方案--------------------

--举个例子,自己看看结果
if object_id('a') is not null
drop table a
create table a
(
id int primary key identity(1,1),
name nvarchar(20)
)
go
insert into a
select '张三' union all
select '李四' union all
select '王五' union all
select '赵六' union all
select '' union all
select null union all
select '孙七'

go
select * from a
select * from a where name is not null
select * from a where name is null
select * from a where name = ''

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

is null ,值为NULL,而不是为空,反之,值不为NULL


这里的NULL是不是可以理解成不相同的意思,我一直理解为空

null 和空不是一回事

http://zhidao.baidu.com/question/317085979.html
------解决方案--------------------
is null/is not null只是用于判断(null值),不能处理空字符串,所以is null或者notnull只是判断列中是否有null值,并且只能用is,不能用=