SQL练习5 空值的处理 数据库系统概论第五版 王珊

1空值的处理

1.1空值的产生

空值就是不知道,不存在或者无意义的值,因此空值是一个特殊的值,含有不确定性,需要特殊的处理

3.79 向SC表插入一个元组,学号是'201215126',课程号是'1',成绩为空
insert
into SC(Sno,Cno)
values('201215126','1'); -- grade值默认为空insert 
into SC
values('201215126','1',null);

3.80 将student表中学生号为'201215200'的学生所属的系改为空值
update Student
set Sdept=null
where Sno='201215200';

1.2空值的判断

用IS NULL 或 IS NOT NULL来判断

3.81 从Student表中找出漏填了数据的学生信息
select *
from student
where Sname is null or Ssex is null
	or Sage is null or Sdept is null; -- 主键Sno不用判断

1.3空值的约束条件

1.属性定义(或者域定义)中有NOT NULL约束条件
2.加了UNIQUE 限制的属性
3.码属性不能去空值

1.4空值的算术运算.比较运算和逻辑运算

注意:空值与另一个值的算术运算结果为空值,空值与另一个值的比较运算结果为UNKNOWN.有了UNKNOWN后,传统的逻辑运算中二值(true,false)逻辑就扩展成了三值逻辑.,true,false,unknown.

3.82 找出选修1号课程的不及格的学生
select sno
from SC
where grade < 60 and cno='1';
这个结果是参加考试的同学,不包括grade值为null的同学

3.83 找出选修1号课程不及格的学生以及缺考的学生.
select sno
from sc
where grade < 60 and cno='1'
union
select sno 
from sc
where grade = null and cno = '1';select sno
from sc
where cno='1' and (grade < 60 or grade is null);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值