4实验四-复杂查询

上传人:xgs****56 文档编号:10782466 上传时间:2020-04-14 格式:DOC 页数:11 大小:689KB
返回 下载 相关 举报
4实验四-复杂查询_第1页
第1页 / 共11页
4实验四-复杂查询_第2页
第2页 / 共11页
4实验四-复杂查询_第3页
第3页 / 共11页
点击查看更多>>
资源描述
实验四 复杂查询一、实验目的 掌握两个表以上的连接查询的应用,包括嵌套查询。二、实验内容 (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.cno (3)查询已选课学生的学号、姓名、课程名、成绩。select SC.Sno,Sname,Cname,Gradefrom Student s,course c,SCwhere s.sno=SC.sno and c.cno=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,Sname,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)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 Cnohaving 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)也要在查询结果中。select 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,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_other数据库Student_other表中的记录。select * from Student_info_other.dbo.student_other so,Student_info.dbo.Student swhere so.sno=s.sno11
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!