实验五 数据库综合查询(学生)_第1页
实验五 数据库综合查询(学生)_第2页
实验五 数据库综合查询(学生)_第3页
实验五 数据库综合查询(学生)_第4页
实验五 数据库综合查询(学生)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流实验五 数据库综合查询(学生).精品文档.实验五 数据库综合查询一、实验目的1. 掌握SELECT语句的基本语法和查询条件表示方法;2. 掌握查询条件种类和表示方法;3. 掌握连接查询的表示及使用;4. 掌握嵌套查询的表示及使用;5. 了解集合查询的表示及使用。二、实验内容1. 了解SELECT语句的基本语法格式和执行方法;2. 以数据库原理实验5数据为基础,请使用T-SQL 语句实现进行相应操作;3. 完成实验报告。三、实验步骤1. 查询以数据_开头,且倒数第3个字符为结的课程的详细情况 select*from coursewhere Cn

2、ame like '数据_%结_'escape''2. 查询名字中第2个字为阳的学生姓名和学号及选修的课程号、课程名; select sname 姓名,student.sno 学号,o 课程号,ame 课程名from student,course,sc where student.sno=sc.sno and o=o and sname like'_阳%'3. 列出选修了数学或者大学英语的学生学号、姓名、所在院系、选修课程号及成绩; select student.sno,sname,sdept,cno,gradefrom student,scwh

3、ere student.sno=sc.sno and cno IN(select cno from course where cname='数学'OR CNAME='大学英语')4. 查询缺少成绩的所有学生的详细情况; select*from student where not exists(select*from sc where sno=student.sno and grade is not null)select*from student where sno in(select sno from sc where grade is null)5. 查询与

4、张力(假设姓名唯一)年龄不同的所有学生的信息; select b.*from student a,student b where a.sname='张力'and a.sage<>b.sage6. 查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩; select student.sno,sname,平均成绩=avg(grade)from student,sc where sc.sno=student.sno group by student.sno,sname having avg(grade)>(select avg(grade)from s

5、c where sno=(select sno from student where sname='张力')7. 按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。其中已修学分为考试已经及格的课程学分之和; select student.sno 学号,sname 姓名,sdept 院系,已修学分=sum(credit)from student,course,sc where student.sno=sc.sno and o=o and grade>=60 group by student.sno,sname,sdept8. 列出只选修一门课程的学生的学号

6、、姓名、院系及成绩; select student.sno 学号,sname 姓名,sdept 院系,gradefrom student,sc where student.sno=sc.sno and sc.sno in(select sno from sc group by sno having count(cno)=1)9. 查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号; select distinct student.*from student where sno in(select sno from sc where cno in(select cno from co

7、urse where cname='数据库'or cname='数据结构')10. 只选修“数据库”和“数据结构”两门课程的学生的基本信息; select o,ame,x.sno,x.sname,grade from student x,sc y,course z where x.sno=y.sno and o=o11. 至少选修“数据库”或“数据结构”课程的学生的基本信息;select *from student,sc,coursewhere student.sno=sc.snoand o=oand cname='数据库'orcname=

8、9;数据结构'12. 列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩; select o,ame,student.sno,student.sname,gradefrom student,sc,coursewhere student.sno=oand o=o13. 查询只被一名学生选修的课程的课程号、课程名; select cno,cnamefrom coursewhere cno in(select cnofrom scgroup by cnohaving count(sno)=1)14. 使用嵌套查询列出选修了“数据结构”课程的学生学号和姓名; select sn

9、o,snamefrom studentwhere sno in(select snofrom scwhere cno in(select cnofrom coursewhere cname='数据结构')15. 使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和院系; select sname,sage,sdeptfrom studentwhere sage<(select max(sage)from studentwhere sdept='cs'and sdept<>'cs')16. 使用ANY、ALL 查询,

10、列出其他院系中比CS系所有学生年龄小的学生; select sname,sagefrom studentwhere sage<any(select min(sage)from studentwhere sdept='cs'and sdept<>'cs')select sname,sagefrom studentwhere sage<all(select sagefrom studentwhere sdept='cs'and sdept<>'cs')17. 分别使用连接查询和嵌套查询,列出与张力在一个院系的学生的信息; select*from studentwhere sdept=(select sdeptfrom studentwhere sname='张力')18. 使用集合查询列出CS系的学生以及性别为女的学生名单; select snamefrom studentwhere sdept='cs'unionselect snamefrom studentwhere ssex='女'19. 使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集; select*from studentwhere sdept='cs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论