实验四_数据库的嵌套查询和组合_....doc
文本预览下载声明
桂林电子科技大学
数学与计算科学学院实验报告
实验室: 实验日期: 年 月 日
院(系) 数学与计算科学学院 年级、专业、班 信息与计算科学 姓名 刘国权 成绩 课程
名称 数据库原理实验 实验项目
名 称 实验四_数据库的嵌套查询和组合 指导
教师 毛睿 一 ,实验目的
掌握SELECT语句中嵌套的语法结构;
掌握SELECT语句中统计函数的作用和使用方法;
掌握SELECT语句中GROUP BY 和ORDER BY字句的作用和使用
方法。
二,实验原理
三,使用仪器,材料
Microsoft SQL Server
四,实验内容与步骤
1.查询选修了C语言课程的学生的学号和成绩,查询结果按成绩的降序排列
2.查询全体学生的情况,查询结果按所在系升序排列,同一系中的学生按年龄降序排列;
3.求各个课程号及其相应的选课人数
4.查询选修了2门以上课程的学生学号;
5.查询与指定某个同学在同一个系学习的学生情况(用IN谓词和自然连接两种方式实
现)
6. 求选修了“高等数学”的学生学号和姓名
7. 求指定课程的成绩高于某个指定同学的该门成绩的学生学号和成绩
8. 求其它系中比计算机系中某一学生年龄小的学生情况
9. 求其它系中比计算机系中年龄都小的学生情况;
10. 求选修了2号课程的学生姓名(用EXISTS 谓词和连接查询两种方式实现);
11. 求没有选修2号课程的学生姓名(检验是否能用连接查询完成);
12.求选修了全部课程的学生姓名;
13. 求至少选修了指定姓名的学生所选修的全部课程的学生学号和姓名
五,实验过程原始记录(数据,图表,计算等)
实验过程的代码如下:
select s.学号,成绩 from student s, sc cs where 课程号=8 and s.学号=cs.学号
order by 成绩 desc
查询结果如下:
实验代码如下:
select student.*,sc.*,course.* from student,sc,course
where student.学号=sc.学号 and sc.课程号=course.课程号
order by 所在系,年龄 desc
查询结果如下:
查询代码如下:
select 课程号,count(学号) 各课号人数
from sc
group by 课程号
查询结果:
4.查询过程代码如下:
select 学号 from sc group by 学号 having count(课程号)=2
结果如下图:
5.查询代码如下:
select * from student where 所在系 in (select 所在系
from 学生表 where 姓名=张力)
select s1.学号,s1.姓名,s1.所在系
from student s1,student s2
where s1.所在系=s2.所在系 and s2.姓名=张青;
结果如下:
6.查询代码如下:
select s.学号,姓名
from student s,sc cs,course c
where s.学号=cs.学号 and cs.课程号=c.课程号 and 课程名=高代;
7.代码如下:
select s.学号,成绩
from student s,sc cs,course ce
where s.学号=cs.学号 and ce.课程名=C语言 and
成绩(select 成绩from student s1,sc cs1,course c1
where c1.课程名=C语言 and s1.学号=95003 and s1.学号=cs1.学号 and cs1.课程号=c1.课程号);
8.代码如下:
select student.* from student where 年龄any(
select 年龄 from student where 所在系=’计算机’ )
结果如下:
9.查询代码如下;
select student.* from student where 年龄all(
select 年龄 from student where 所在系=计算机)
查询结果如下:
10.查询的代码:
select 姓名 from student where exists( select *
from sc where 学号=student.学号 and 课程号=2)
select 姓名 from student s,sc where s.学号=sc.学号 and 课程号=2
11.代码如下:
select
显示全部