4实验四 复杂查询_第1页
4实验四 复杂查询_第2页
4实验四 复杂查询_第3页
4实验四 复杂查询_第4页
4实验四 复杂查询_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、.实验四 复杂查询一、实验目的 掌握两个表以上的连接查询的应用,包括嵌套查询。二、实验内容 (1)查询比“林红”年纪大的男学生信息。select * from Studentwhere Sex = 男 and YEAR(Birth)-(select YEAR(Birth) from Student where Sname =林红)0(2)检索所有学生的选课信息,包括学号、姓名、课号、课程名、成绩。select SC.Sno,Sname,Sex,Classno,Cname,Gradefrom Student s,SC,Course cwhere s.Sno=SC.Sno and SC.cno=c

2、.cno (3)查询已选课学生的学号、姓名、课程名、成绩。select SC.Sno,Sname,Cname,Gradefrom Student s,course c,SCwhere s.sno=SC.sno and o=SC.cno(4)查询选修了“C语言程序设计”的学生的学号和姓名。select sc.Sno,Snamefrom Student s,course c,scwhere c.Cname=C语言程序设计 and s.Sno=sc.Sno and sc.Cno=c.Cno(5)查询与“张虹”在同一个班级的学生学号、姓名、家庭住址。a.用子查询 select Sno,Snam

3、e,Home_addrfrom Studentwhere Classno=051 and Sname!=张虹b.用连接查询 select Sno,Sname,Home_addrfrom Studentwhere Classno=(select Classno from Student where Sname=张虹)and Sname!=张虹(6)查询其他班级中比“051”班所有学生年龄大的学生的学号、姓名。select Sno,Snamefrom Studentwhere Classno 051 and Birth (select MAX(Grade)from SCwhere cno=002)

4、order by Grade desc(11)检索选修3门以上课程的学生的学号、总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。select Sno,sum(grade) as 总成绩from SCwhere Sno in(select Sno from SCgroup by Snohaving count(*)3) and Grade=60group by Snoorder by 总成绩 desc(12)检索多于3名学生选修的并以3结尾的课程号的平均成绩。select avg(Grade) as 平均成绩from SCwhere Cno like %3group by Cnoha

5、ving count(Cno)3(13)检索最高分与最低分之差大于5分的学生的学号、姓名、最高分、最底分。select distinct SC.Sno 学号,Sname 姓名,max(grade) as 最高分,min(grade)as 最低分from Student,SCwhere SC.Sno=Student.Snogroup by SC.Sno,Snamehaving max(grade)-min(grade)5(14)外连接对实验二中的表6和表7做一个外连接查询,显示每门课程的课号、课名、选修该门课的学号、成绩,没有同学选修的课程(如Visual_Basic)也要在查询结果中。sele

6、ct c.Cno 课号,Cname 课名,Sno 学号,Grade 成绩from Course c left outer join SCon (c.Cno=SC.Cno)(15)创建一个表Student_other,结构同Student,输入若干记录,部分记录和Student表中的相同。创建过程:create table Student_other(Sno char(8) primary key,Sname varchar(8) not null,Sex char(2) not null,Birth smalldatetime not null,Classno char(3) not null

7、,Entrance_date smalldatetime not null,Home_addr varchar(40),Sdept char(2) not null,Postcode char(6) )随意输入几条Student表中没有的信息,完成创建 a.查询同时出现在Student表和Student_other表中的记录select * from student_other so,Student swhere so.Sno=s.Sno b. 查询Student表和Student_other表中的全部记录select * from studentunionselect * from student_other(16)(选作)创建一个数据库Student_info_other,参数自定。创建过程: 新建数据库名称确定,参数自定义,然后“确定”即可a.当前数据库为Student_info,将Student_info数据库中的Student_other复制到Student_info_other中。select * into Student_info_other.dbo.Student_other from Student_info.dbo.Student_other b.查询同时出现在Student表和Student_info_oth

温馨提示

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

评论

0/150

提交评论