where 空集_实验七SQL的空值和空集处理.doc
实验七SQL的空值和空集处理
实验七 SQL的空值和空集处理
实验目的
认识NULL值在数据库中的特殊含义,了解空值和空集对于数据库的数据查询操作,特别是空值在条件表达式中与其他的算术运算符或者逻辑运算符的运算中,空集作为嵌套查询的子查询的返回结果时候的特殊性,能够熟练使用SQL语句来进行与空值,空集相关的操作。
实验内容
通过实验验证在原理解析中分析过的SQL Server对NULL的处理,包括:
在查询的目标表达式中包含空值的运算。
在查询条件中空值与比较运算符的运算结果。
使用IS NULL或IS NOT NULL 来判断元组该列是否为空值。
对存在取空值的列按值进行ORDER BY排序。
使用保留字DISTINCT对空值的处理,区分数据库的多中取值与现实中的多种取值的不同。
使用 GROUP BY对存在取空值的属性值进行分组。
结合分组考察空值对各个集合函数的影响,特别注意对COUNT(*)和COUNT(列名)的不同影响。
考察结果集是空集时,各个集函数的处理情况。
验证嵌套查询中返回空集的情况下与各个谓词的运算结果。
进行与空值有关的等值连接运算。
实验步骤
查询所有选课记录的成绩并将它换算为五分制(满分为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_mark
select wjy_Sno,wjy_Cno,wjy_Score
from Wangjy_Reports
update Wangjy_mark
set wjy_Score=wjy_Score/20
通过查询选修编号C07的课程的学生的人数,其中成绩合格的学生人数,不合格的人数,讨论NULL值的特殊含义。
SELECT count(wjy_Sno)CntSno
from Wangjy_Reports
where wjy_Cno='C07'
SELECT count(wjy_Sno)Cntpass
From Wangjy_Reports
where wjy_Score>=60 and wjy_Cno='C07'
SELECT count(wjy_Sno)Cntfail
from Wangjy_Reports
where wjy_Score<60 and wjy_Cno='C07'
NULL是1人。
通过实验检验在使用ORDER BY进行排序时,取NULL的项是否出现在结果中?如果有,在什么位置?
在上面的查询的过程中如果加上保留字DISTINCT会有什么效果呢?
没有变化
通过实验说明使用分组GROUP BY对取值为NULL的项的处理。
select wjy_Sno ,COUNT(wjy_Sno)成绩合格
from Wangjy_Reports
where wjy_Sno='C07' and (wjy_Score<=60 or wjy_Score=null)
group by wjy_Sno
select AVG(wjy_Score)avg_score,COUNT(*) all_class,MAX(wjy_Score) max_Score,min(wjy_Score) min_Score,sum(wjy_Score) sum_Score
from Wangjy_Reports
采用嵌套查询的方式,利用比较运算符和谓词ALL的结合来查询表Courses中最少的学分。假设数据库中只有一个记录的时候,使用前面的方法会得到什么结果,为什么?
select Wangjy_Reports.wjy_Sno ,wjy_Sname
from Wangjy_Reports,Wangjy_Students
where wjy_Score
from Wangjy_Reports)
创建一个学生表S(No,Sno,Sname),教师表T(No,Tno,Tname)作为实验用的表。其中,No分别是这两个表的主键,其他键允许为空。
向S插入元组(n1,S01,李迪)、(n2,S02,李岚)、(n3,S05,NULL)、(n4,S04,关红);
向T插入元组(n1,T09,李迪)、(n2,T08,李兰)、(n3,T01,NULL)、(n4,T02,NULL)。
对这两个表作对姓名的等值连接运算,找出既是老师又是学生的人员的学生编号和教师编号。
where 空集_实验七SQL的空值和空集处理.doc相关推荐
- mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf
实验六 SQL语言数据查询语言DQL 实验六 SQL 语言数据查询语言DQL 一.实验目的 数据查询语言指对数据库中的数据查询.统计.分组.排序等操作.查询语 句可以分为简单查询.连接查询.嵌套查询和 ...
- python组合数据类型实验_实验七 组合数据类型
安徽工程大学 Python程序设计实验报告 班级物流192 姓名 徐敏 学号 3190505232 成绩 _____ 日期 2020.5.28 指导老师 修宇 实验七 组合数据类型 [实验目的] ...
- shell的建立与执行实验报告_实验七 Shell脚本运行的优化
实验七 Shell脚本运行的优化 一.添加窗口 在Shell脚本的运行过程中,也可以实现类似于Windows系统和Linux系统中的窗口效果,使脚本运行美观. 1.dialog软件的安装 - dial ...
- java实验七输入输出流_实验七 输入输出流
java 程序设计实验 实验七 输入输出流(2) 一.实验目的 输入和输出是Java的核心功能之一.本节学习了Inputstream和OutputStream,Reader,Writer的几个子类,通 ...
- matlab 冲激响应不变法,matlab实验七冲激响应不变法IIR数字滤波器设计.doc
(数字信号处理)实验报告 实验名称 实验七 冲激响应不变法IIR数字滤波器设计 实验时间 年 月 日 专业班级 学 号 姓 名 成 绩 教师评语: 一.实验目的 1.掌握构成一个频率响应与给定的滤波特 ...
- java基本语句回文数实验_实验二 java基本数据类型与把持语句.doc
实验二 java基本数据类型与把持语句.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 5System.out.println(num ...
- Java图形编程实验总结_实验二java图形界面编程2015级.doc
实验二java图形界面编程2015级.doc 实验二JAVA图形界面编程一.实验目的熟悉JAVA运行环境,编程掌握JAVASWING组件的图形界面编程.二.实验环境微机,软件MYECLIPSE,JDK ...
- 北航计算机网络 传输层实验,北航研究生计算机网络实验_实验七 传输层实验
** 这个实验我没有约到没有问题的机子(连续三台机子都是坏的...)因此仅供参考 1.根据2.6中步骤3回答:TCP的连接和建立采用的是:三次握手方式,PCA是主动打开方(C),PCB是被动打开方(S ...
- ZUCC_Linux系统管理_实验七 LVM
第九周实验报告 注意: 务请保存好各自的源代码,已备后用. 完成本实验后,将实验报告上传到学在城院平台指定提交点.请务必在截至期前提交. [实验目的] 添加2个物理磁盘,将磁盘1分成2个分区(大小可不 ...
- 大一python实验答案实验七_实验七参考答案
(一) SQL 的定义功能 1 .用 SQL 的定义命令创建一个职工表( zg.dbf ) , 表结构如下所示. 字段名 类型 宽度 小数点 职工号 C 4 姓名 C 8 性别 C 2 出生日期 d ...
最新文章
- MongoDB内存映射文件
- linux配置文件引用时间,linux时间设置、screen使用、命令分类、hash作用、命令引用及history命令...
- jboss eap 7.0_创建委托登录模块(用于JBoss EAP 6.1)
- java压缩传输gzip_服务器使用Gzip压缩数据,加快网络传输(Java 例子)
- Linux Shell编程 - 正则表达式
- java 数据类型及作用域、数据类型转换、运算符、流程控制
- 业绩快报|Facebook Q4营收净利润亮眼,利好影响盘后股价大涨12%
- 前台html基础标签7.6
- 款装机热门电源横向评测
- [推荐] [推荐] 黑苹果驱动之家
- Auto病毒,落雪病毒,威金病毒,U盘病毒,魔波病毒,arp病毒,QQ病毒,熊猫烧香病毒,rose病毒清除方法
- 字典总结一|脚本类、用户名字典
- js 基础-函数传参
- 土地一分用计算机怎么算,土地计量单位换算(土地计量亩分厘单位)
- Dalvik字节码和Smali基本语法
- [html] 当网页放大或者缩小后如何让页面布局不乱?
- 弘辽科技:裁员、大降价,行业第一卖家“自救”
- 云ERP如何助力企业管理?ERP上云的好处
- oracle中创建事件的作用,Oracle常见等待事件说明(二)-direct path read/write
- 常用软件01—读paper/pdf神器—Mendeley