《数据库系统概论》 -- 3.5 空值的处理

         定义         空值,就是“不知道”、“不存在”、“无意义”的值

         举例         学生年龄应该有一个值,但是还未统计,就是“不知道”

                            某元组在该属性上不应有值,如缺考学生,成绩为空,即为“不存在”

         空值的产生                 插入时,未对该属性赋值

                                                       INSERT INTO SC (Sno,Cno) VALUES ('201215126','1');

                                               插入时,对该属性赋空值

                                                        INSERT INTO SC(Sno,Cno,Grade) VALUES ('201215126','1',NULL);

                                              修改时,将该属性改为空值

                                                        UPDATE Student SET Sdept=NULL WHERE Sno='201215200';

                                               外连接产生空值

         空值的判断     IS [NOT] NULL

                         SELECT * FROM Student WHERE Sname IS NULL OR Ssex IS NULL OR Sage IS NULL OR Sdept IS NULL;

         空值的约束条件     <属性> UNIQUE

                                               <属性> NOT NULL

         空值的运算    

    空值与其他值(包括空值)的算术运算结果为空值

    空值与其他值的逻辑运算如下

                      空值 AND T == 空值

                      空值 AND F == F

                      空值 AND 空值 == 空值

                      空值 OR T == T

                      T OR 空值 == T

                      空值 OR F == 空值

                      F OR 空值 == 空值

                      NOT 空值 == 空值

                       注     WHERE和HAVING子句中,只有条件为T的元组才会被作为结果选出

posted @ 2017-09-04 07:28  yc紫日  阅读(289)  评论(0编辑  收藏  举报