当前位置:文档之家› 实验四、五(数据查询)

实验四、五(数据查询)

2、连接查询
(1)内连接和自身连接(2)外连接
(3)复合条件连接(4)多表连接
(四)注意事项
1、对表指定别名后,在where条件中要引用表名时,应引用别名。
2、对于空值,只能用is null或not is null进行比较,而不能用=比较。
例:select * from sc where grade is null
(8)查询计算系的选修了“计算机基础”课程的学生姓名及成绩
(9)查询与“张三”在同一个系学习的学生(EXISTS)
(10)查询课程名及各科的最高成绩和平均成绩。
(11)查询没有选修任何课程的学生的学号、姓名和所在的系名
(12)查询选修了课程,但没有成绩的学生的学号、姓名和所在的系名
(13)查询数据库原理成绩高于本班所有女生数据库原理成绩的男生的学号和姓名
通过实验达到以下目的:
(1)学会聚合函数的使用、掌握嵌套查询
(2)能综合运行各种查询语句及聚合函数完成较复杂的查询任务
(3)掌握视图的概念、学会使用SQL语句创建和修改视图,学会使用SQL语句更新视图对应的基表
二、实验要求
1、实验前:预习实验内容,学习相关知识。
2、实验中:按照实验内容要求进行实验,实验时注每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出对次实验的总结,下次实验前交实验报告。
三、实验重点与难点
1、重点:
(1)各个聚合函数的使用
(2)嵌套查询
[2]《数据库系统与应用》,赵致格,清华大学出版社,2005
[3]《SQL SEVER数据库原理及应用》,张莉,清华大学出版社,2005
下次实验内容
1、聚合函数的使用
count()、max()、min()、sum()和avg()等聚合函数的使用
2、嵌套查询
(1)内外层不相关子查询
(2)内外层相关子查询
(4)原表中数据发生变化,视图中的数据是否可能跟着一起变化?
(5)满足什么条件的视图才能进行记录插入、修改和删除?
(七)实验报告要求
见实验一课件
参考文献
[1]《数据库系统及应用》,崔巍,高等教育出版社,2005
[2]《数据库系统与应用》,赵致格,清华大学出版社,2005
[3]《SQL SEVER数据库原理及应用》,张莉,清华大学出版社,2005
(3)联合查询
3、视图定义及对视图的查询、插入、修改和删除操作
实验项目(课题)教学实施方案
第5次课
第10周星期第节
授课日期:年月日
实验项目(课题)名称:数据查询(二)
计划学时:2
实验类型: 1.演示性□2.验证性√3.综合性□4.设计性□5.其它□
实验五:数据查询(二)
一、实验目的
数据查询语句是SQL语句的重要组成部分,合理使用数据查询语句,可以极大的简化应用程序编制、快速的定位分析数据库系统的故障,查询语句是编程人员与数据库管理人员必不可少的工具,通过试验,加深学生对查询语句基本概念的理解与掌握,最终达到以下目的。
通过实验达到以下目的:
(1)掌握SELECT语句的基本语法,ቤተ መጻሕፍቲ ባይዱ深学生对查询语句基本概念的理解
(2)掌握简单的单表查询。
(3)掌握连接查询。
二、实验要求
1、实验前:预习实验内容,学习相关知识。
2、实验中:按照实验内容要求进行实验,实验时注每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
(三)实验内容
实验数据:dept、class、student、course和SC五个表及实验三插入到表中的数据
实验内容:
1、简单查询
(1)*、distinc的用法及表中若干列或行的选择。
(2)对查询结果排序和分组
(3)计算列、常量或空值的查询
(4)对表和列使用别名
(5)模糊查询(like的用法)
(6)between…and…、in等运算符的使用。
(六)思考与练习
(1)Where与Having语句有何差别?
(2)Count(*)与Count(字段名)有何差别?
(3)LIKE‘[^s][^y][^s]%’与NOT LIKE‘sys%’有无区别?请加以验证
(4)全连接、左连接、右连接有什么不同?
(七)实验报告要求
见实验一课件
参考文献
[1]《数据库系统及应用》,崔巍,高等教育出版社,2005
硬件:每位同学分配PC机一台
软件:windows环境安装好SQL Server
五、教学过程
(一)实验预习
(1)熟悉SQL中的select查询语句的格式及所用的关键字函义及用法
(2)准备好查询时所用的数据库及原始数据
(二)实验原理
在查询分析器下利用select命令完成对数据库中满足指定条件的数据的查询
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出对次实验的总结,下次实验前交实验报告。
三、实验重点与难点
1、重点:
(1)查询结果的排序和分组
(2)内连接和外连接
2、难点:
分组查询、内连接和自身连接
四、仪器设备及用具
(3)视图的定义及对视图的操作。
2、难点:
嵌套查询和对视图的操作
四、仪器设备及用具
硬件:每位同学分配PC机一台
软件:windows环境安装好SQL Server
五、教学过程
(一)实验预习
(1)熟悉SQL中的select嵌套查询的语句格式及聚合函数的一使用方法及注意事项
(2)准备好查询时所用的数据库及原始数据
(14)查询数据库原理成绩高于本班任意一个女生数据库原理成绩的男生的学号和姓名,以学号排序。
(15)创建视图:既不是计算机系、也不是电信系的学生的基本信息。
(16)创建视图:所有班级的名称,所在系名称及每班人数
(17)创建视图:选修了“数据库原理”的学生的学号和姓名
(18)用INSERT、UPDATE、DELETE命令对(17)所建视图进行操作。
实验项目(课题)教学实施方案
第4次课
第10周星期第节
授课日期:年月日
实验项目(课题)名称:数据查询(一)
计划学时: 2
实验类型: 1.演示性□2.验证性√3.综合性□4.设计性□5.其它□
实验四:数据查询(一)
一、实验目的
数据查询语句是SQL语句的重要组成部分,合理使用数据查询语句,可以极大的简化应用程序编制、快速的定位分析数据库系统的故障,查询语句是编程人员与数据库管理人员必不可少的工具,通过试验,加深学生对查询语句基本概念的理解与掌握,最终达到以下目的。
下次实验内容
存储过程的建立、修改和执行,触发器的建立和修改,设计一组操作触发触发器的执行
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求
(19)用INSERT、UPDATE、DELETE命令对(16)所建视图进行操作。观察操作结果
(20)查询分析器用Select语句完成对视图的查询(自已设计查询语句)
(六)思考与练习
(1)IN与Exists语句有何区别?
(2)不相关子查询、相关子查询有何区别?
(3)UNION与UNION ALL有何差别,谁的性能高?
2、嵌套查询
(1)内外层不相关子查询
(2)内外层相关子查询
(3)联合查询
3、视图创建和修改,对视图的查询、插入、修改和删除操作
(四)注意事项
1、在连接查询中,如果一个字段来源于两个及两个以上的表,需要指明字段的来源,即需加上表名前缀,格式为“表名.字段名”
2、在嵌套查询中,order by只能用于最外层嵌套。
(7)查询所有姓张学生的姓名、学号和性别
(8)查询名字中第2个字为“小”字的学生姓名
(9)查询电信系(dx)和计算机系(jsj)的学生(要求:使用IN关键字表示查询条件)
(10)查询没有考试成绩的学生学号和课程号
(11)查询选修了3门以上课程的学生学号(先用group by分组,再用Having限定分组条件)
3、内外层相关查询中,应对表取别名
4、对视图操作时,只有单表视图可能进行插入、修改和删除操作。
(五)实验步骤:
1、恢复上次课的数据库表结构和数据。
2、完成以下SQL语句
(1)查询成绩高于本门课程平均成绩的学生的学号、姓名、课程名和成绩
(2)查询学生总人数
(3)查询有3门以上课程是90分以上的学生的学号及(90分以上的)课程数
(12)查询没有考试成绩的学生学号和课程号
(13)查询全体学生的学号、姓名、选修的课程名及成绩
(14)查询每个学生及其选修课程情况的所有信息(用*表示字段)
(15)查询某门课程考试成绩相同的学生学号和课程信息
(16)查询与“张三”在一个系学习的学生(IN)
(17)查询选修了“数据库原理”的学生学号和姓名
(18)查询每个学生的选修课程包括没有选修课程的学生(外连接)
(19)查询每个学生的选修课程包括没有被学生选修的课程(外连接)
(20)查询每个学生的选修课程即包括没有被学生选修的课程又包括没有被学生选修的课程(全连接)
(21)查询成绩高于本课程的平均成绩的学生学号和姓名
(22)查询选修cn01号课程且成绩在90分以上的所有学生的学号、姓名和成绩
相关主题