资源描述:
《管理SQL Server 数据库 实验5》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验五:数据库综合查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件种类和表示方法;3.掌握连接查询的表示及使用;4.掌握嵌套查询的表示及使用;5.了解集合查询的表示及使用。二、实验环境已安装SQLServer企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解SELECT语句的基本语法格式和执行方法;2.了解连接查询的表示及使用;3.了解嵌套查询的表示及使用;4.了解集合查询的表示及使用;5.完成实验报告;五、实验内容及步骤1.利用Transact-SQL嵌套语句实现下列数据查询操作。(选课表2)1)查询选修
2、了计算机体系结构的学生的基本信息。select*fromstudent,coursewherecourse.cname=(selectcnamefromcoursewherecname='计算机体系结构')2)查询年龄比李勇小的学生的学号和成绩。selectsc.snum,scorefromsc,studentwheresage<(selectsagefromstudentwheresname='李勇')3) 查询其他系中比系编号为‘D1’的学生中年龄最小者要大的学生的信息。select*fromstudentwheresage>(selectsage=min(sage)fromstud
3、entwherednum='d1')anddnum!='d1'4)查询其他系中比系编号为‘D3’的学生年龄都大的学生的姓名。selectsnamefromstudentwheresage>(selectsage=max(sage)fromstudentwherednum='d3')anddnum!='d3'5)查询‘C1’课程的成绩高于70的学生姓名。selectdistinctsnamefromstudent,scwherescore>'70'andcnum='c1'andstudent.snum=sc.snum6)查询‘C1’课程的成绩不高于70的学生姓名。selectdistinc
4、tsnamefromstudent,scwherescore<='70'andcnum='c1'andstudent.snum=sc.snum7)查询没有选修的学生姓名。selectsnamefromstudentwherenotexists(selectsnamefromscwheresnum=student.snum)8)查询学校开设的课程总数。select课程总数=count(cname)fromcourse9)查询选修两门及两门以上课程的学生姓名。selectsnamefromstudentwheresnumin(selectsnumfromscgroupbysnumhaving
5、count(cnum)>=2)10)查询开设的课程和选修该课程的学生的总成绩、平均成绩、最高成绩和最低成绩。selectcname,sum=sum(score),avg=avg(score),max=max(score),min=min(score)fromsc,coursegroupbycname(二)、以数据库原理实验4数据为基础,请使用T-SQL语句实现进行以下操作:(student1)1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况;select*fromcoursewherecnamelike'db_%s__'2.查询名字中第2个字为‘阳’的学生姓名和学号及选
6、修的课程号、课程名;selectsname,student.sno,course.cno,cnamefromstudent,sc,coursewheresnamelike'_阳%'andstudent.sno=sc.snoandsc.cno=course.cno3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;selectstudent.sno,sname,sdept,course.cno,cnamefromstudent,coursewherecname='数学'orcname='大学英语'4.查询缺少成绩的所有学生的详细情况;select*froms
7、tudent,scwheresc.gradeisnullandsc.sno=student.sno1.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;select*fromstudentwheresage!=(selectsagefromstudentwheresname='张力')2.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;★selectstudent.sno,sname,平均成绩=avg(gr