实验七 SQL 的空值和空集处理1、 实验目的认识 NULL 值在数据库中的特别含义,了解空值和空集对于数据库的数据查询操作,特别是空值在条件表达式中与其他的算术运算符或者逻辑运算符的运算中,空集作为嵌套查询的子查询的返回结果时候的特别性,能够熟练使用 SQL 语句来进行与空值,空集相关的操作。2、 实验内容通过实验验证在原理解析中分析过的 SQL Server 对 NULL 的处理,包括:在查询的目标表达式中包含空值的运算。在查询条件中空值与比较运算符的运算结果。使用 IS NULL 或 IS NOT NULL 来推断元组该列是否为空值.对存在取空值的列按值进行 ORDER BY 排序。使用保留字 DISTINCT 对空值的处理,区分数据库的多中取值与现实中的多种取值的不同。使用 GROUP BY 对存在取空值的属性值进行分组。结合分组考察空值对各个集合函数的影响,特别注意对 COUNT(*)和 COUNT(列名)的不同影响.考察结果集是空集时,各个集函数的处理情况。验证嵌套查询中返回空集的情况下与各个谓词的运算结果.进行与空值有关的等值连接运算.3、 实验步骤(1)查询所有选课记录的成绩并将它换算为五分制(满分为 5 分,合格为 3 分),注意,创建表时允许 Score 取 NULL 值.create table Wangjy_mark(wjy_Sno char(6) ,wjy_Cno char(6),wjy_Score int primary key(wjy_Sno,wjy_Cno),)insert into Wangjy_markselect wjy_Sno,wjy_Cno,wjy_Scorefrom Wangjy_Reportsupdate Wangjy_markset wjy_Score=wjy_Score/20(2)通过查询选修编号 C07 的课程的学生的人数,其中成绩合格的学生人数,不合格的人数,讨论 NULL 值的特别含义。SELECT count(wjy_Sno)CntSnofrom Wangjy_Reportswhere wjy_Cno=’C07'SELECT count(wjy_Sno)CntpassFrom Wangjy_Reportswhere wjy_Score>=60 and wjy_Cno='C07'SELECT count(wjy_Sno)Cntfailfrom Wangjy_Reportswhere wjy_Score<60 and wjy_Cno='C07’NULL 是 1 人。(3)通过实验检验在使用 ORDER BY 进行排序时,取 NULL 的项是否出现在结果中?假如有,在什么位置?(4)在上面的查询的过程中假如加上保留字 DISTINCT 会有什么效果呢?没有变化(5)通过实验说明使用分组 GROUP BY 对取值为 NULL 的项的处理. select wjy_Sno ,COUNT(wjy_Sno)成绩合格from Wangjy_Reportswhere wjy_Sno=’C07’ and (wjy_Score<=60 or ...