【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《实验四》,欢迎阅读!
课程名称 实验名称 学号
数据库原理 复杂查询
姓名
班级
实验 成绩 日期
实验目的:
1. 掌握SELECT语句复杂查询的使用; 2. 掌握多表连接查询的方法;
3. 掌握非相关子查询、相关子查询的用法; 4. 掌握谓词在查询中的应用; 实验平台:
利用安装的SQL SERVER 2008及其交互查询工具-查询编辑器来操作SQL语言。 实验内容:
使用SQL语言实现下列嵌套查询。
1. 查询张星老师所教授的全部课程的课程名及其学分。
select Cname, Credit ,Teacher.*
from Course ,Teacher where Course.Cpno=Teacher.Cpno and Teacher.Tname='张星'
2. 查询在信息系学习的全部学生的基本情况。
select Student.* ,Dept.Sdept
from Student,Dept where Student.Sdept=Dept.Sdept AND Xname='信息'
3. 查询没有选修任何课程的学生的姓名。
select Sname from Student where Sno not in (select Sno from SC)
4. 查询选修课总学分在10学分以下的学生的姓名;
Select Sname from Student,SC,Course
Where SC.Cno=Course.Cno and Student.Sno=SC.Sno Group by Sname Having SUM(Credit<10)
5. 查询各门课程最高成绩的学生的姓名及其成绩;
select s1.Cno,Sname,Grade from student,SC s1
where student.Sno=s1.Sno and Grade= (select max(Grade) from SC s2
WHERE s1.Cno = s2.Cno )
6. 查询选修了课程号1001的学生所选修的全部课程的学生的学号;
Select DISTINCT SNO from SC SCX where NOT EXISTS ( SELECT * FROM SC SCY WHERE SCY.SNO ='1001' AND NOT EXISTS ( SELECT * FROM SC SCZ WHERE SCZ.SNO = SCX.SNO AND SCZ.CNO = SCY.CNO ) )
7. 查询选修了张星老师所开设的全部课程的学生的姓名;
Select Sname 姓名 From Student Where not EXISTS (select *from Course Where Cpno from Teacher Where Tname=’张星’) And not EXISTS (select *from SC
Where SC.Sno=Student.Sno and SC.Cno=Course.Cno));
实验总结(结论或问题分析):
通过实验掌握SELECT语句复杂查询的使用和多表连接查询的方法以及非相关子查询、相关子查询的用法,在实验中遇到些问题,在老师和同学的帮助下得以顺利解决,为以后更好的学习奠定了基础。
本文来源:https://www.wddqxz.cn/4694897f6c85ec3a86c2c512.html