黑马程序员技术交流社区
标题:
sql 语句的简单疑问??
[打印本页]
作者:
郑丹丹1990
时间:
2013-4-8 21:13
标题:
sql 语句的简单疑问??
本帖最后由 郑丹丹1990 于 2013-4-9 08:23 编辑
select *
from SC
where Grade =NULL(错误??)
select *
from SC
where Grade is NULL(正确???)
我会认为2个都正确。
作者:
何红卫
时间:
2013-4-8 21:36
很多语言很多时候会把空定义为不确定,所以不确定的东西不一定等于不确定。
作者:
何红卫
时间:
2013-4-8 21:42
Null在数据库中表示 不知道的数据,主要有3种意思:
1)知道数据存在,但不知道具体值.
2)不知道数据是否存在.
3)数据不存在.
所以,null未必就一定等于null啦,为了避免这个错误,所以就没有这种=null的语法
作者:
邓建军
时间:
2013-4-8 21:45
is 指的是符合一种性质
如所选修的课是空,说明课的属性是空
假如学号sno与课程号cno及成绩grade的关系是sc(sno,cno,grade)
那么这个条件应该是这么表达的cno is null
= 指的是数值上的等价
如课程的成绩是0
那么这个条件应该是这么表达 grade=0
作者:
HM朱百青
时间:
2013-4-8 23:52
null表示不知道,如果你直接让一个字段等于null,就是表示让字段等于不知道,那还是不知道!
而下面的is null还表示了判断,所以它是做了处理的,故是正确的
作者:
HM刘磊
时间:
2013-4-9 16:06
第一个sql语句中where后的语句意思为Grade等值null ,null在sql中表示为不确定其值,所以Grade不一定等值于null
在第二个sql语句中where 后的语句意思为判断Grade是否属于null类型
作者:
atwell
时间:
2013-4-12 10:05
SQL 判断NULL 只能用is null和 not null
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2