数据库原理与技术实验三
南华大学
计 算 机 学 院
实验报告
( 2018学年春季学期 )
课程名称 |
数据库原理与技术A |
实验名称 |
交互式SQL(2) |
姓名 |
LFY |
学号 |
2016 |
专业 |
|
班级 |
|
地点 |
|
教师 |
|
注意:次报告基于某固定人员学号RZxxxx号
- 实验题目
(1)创建查询窗口,设置查询环境。
(2)组查询。
(3)统计查询。
(4)嵌套查询。
- 统计选修了【数据库原理】课程的学生人数。
- 查询没有选修【数据库原理】课程的学生信息。
- 查询其他系中比计算机系学生年龄都小的学生。
- 查询被0602001 学生或0602002 学生所选修的课程的课程号(用UNION 组合查询与IN 条件查询两种方法实现)。
- 查询0602001 学生和0602002 学生同时选修的课程的课程号(用 INTERSECT 组合查询与EXISTS 嵌套子查询两种方法实现)。
- 查询被0602001 学生选修,但没有被0602002 学生所选修的课程的课程 号(用EXCEPT 组合查询与NOT EXISTS 嵌套子查询两种方法实现)。
- 实验要求
掌握查询中嵌套查询和组合查询的操作方法,进一步加深对 SELECT 语句的理解。 注意事项:子句的使用;注意语句的层次嵌套关系和括号的配对使用问题; 注意输入SQL 语句时均应使用西文操作符号。
代码截图要求:首先是题目,然后是一张截图,截图中应包括:SQL语句、结果和影响行数。代码和结果应该通过截图形式给出,并要求代码和结果应该在一张图上,并清晰地显示“表的名称”、“完整的查询语句”、“完整的结果(结果少于20行的情况下)”、“语句执行影响的行数”。
- 实验代码
(1)创建查询窗口,设置查询环境。
(2)统计选修了【数据库原理】课程的学生人数
(3)查询没有选修【数据库原理】课程的学生信息
(4)查询其他系中比计算机系学生年龄都小的学生
或
(5)查询被0602001 学生或0602002 学生所选修的课程的课程号(用UNION 组合查询与IN 条件查询两种方法实现)
或
(6)查询0602001 学生和0602002 学生同时选修的课程的课程号(用 INTERSECT 组合查询与EXISTS 嵌套子查询两种方法实现)
或
(7)查询被0602001 学生选修,但没有被0602002 学生所选修的课程的课程 号(用EXCEPT 组合查询与NOT EXISTS 嵌套子查询两种方法实现)
或
- 实验总结
通过此次实验,主要的是训练对子查询的SQL语句,包括集合的比较,UNION组合查询、INTERSECT组合查询、EXCEPT组合查询以及IN条件查询,他们分别对应关系代数里面的并、且、减关系。不过这次实验里面最最最难的莫过于嵌条的子查询了,稍微不注意就容易把他们之间的嵌套逻辑关系弄混乱,而且容易漏括号,尤其是not exists嵌套子查询,有点类似于负负得正的味道,我理了半天的逻辑关系才把最后一题的not exists嵌套子查询SQL给理出来。不过受益匪浅,学到了也提升了不少。加强了select语句的理解和编写,达到了实验的最初设计目的。