实验五 连接查询参考答案
实验五 数据库的简单查询和连接查询实验(1)

实验五数据库的简单查询和连接查询实验(1)本实验需要1学时。
一、实验目的使学生掌握SQL Server新建查询的使用方法.加深对SQL和Transact-SQL语言的查询语句的理解。
熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法。
二、实验内容1 简单查询操作该实验包括投影、选择条件表达、数据排序、使用临时表等。
2 连接查询操作该实验包括等值连接、自然连接、求笛卡尔积、一般连接、外连接、内连接、左连接、右连接和自连接等。
三、实验方法1 将查询需求用Transact-SQL语言表示。
2 在SQL Server新建查询的输入区中Transact-SQL查询语句。
3 设置新建查询结果区为Standard Execute(标准执行)或Execute to Grid方式。
4 发布执行命令,查看查询结果.如果结果不正确,进行修改.直到正确为止。
5 新建查询及使用方法。
新建查询是在开发数据库应用系统时使用最多的工具。
新建查询的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储).查询分析功能主要通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能、新建查询的界面如图3-17图所示。
图3-17 SQL Server 2005新建查询在查询生成器中的左边窗口是对象测览器,其中按树结构列出了数据库对象;右上方是SQL代码区域.用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果、对于TSQL语句的执行结果,在结果区中可以有4种不同的输出形式:标准执行将结果直接显示在结果区网格执行将结果以表格形式显示在结果区.计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。
上述输出形式,可以通过菜单或按纽选择。
四、实验步骤1 基本操作实验(1)简单查询实验l)用Transact-SQL语句表示下列操作.在学生选课库中实现其数据查询操作.①求数学系学生的学号和姓名。
连接查询

《数据库原理及应用》电子实验报告题目:SQL语言(3)数据查询—连接查询日期201 . . 姓名QQ实验环境:Windows XP,Sql Server2005实验目的:1.理解连接查询的意义2.理解连接操作的三种方法:嵌套循环法、排序合并法、索引连接法3.理解SQL中连接查询的主要类型:广义笛卡尔积、等值连接(含自然连接)、非等值连接查询、自身连接查询、外连接查询和复合条件连接查询。
实验内容:1.连接查询1)连接查询的定义一个查询同时涉及两个以上的表,称之为连接查询2)采用连接查询的原因为了简化在多表间来回查找的繁琐及数据的不明确,在一个视图里多表间,简结寻找信息及多个表之间挖取自己的需要的信息2.连接操作的方法1)嵌套循环法2)排序合并法3)索引连接法3.采用的数据库表1)库表结构定义2)库表记录4.广义笛卡尔积(写出题目、关系代数表达式和sql语句)1)广义笛卡尔积的定义2)查看学生、课程、选修课三者之间的映射3)Select * from student,course,sc;【实例1】5.等值连接(含自然连接)查询1)等值连接的定义——当连接运算符为=s时成为等值连接2)非等值连接的定义——处使用=连接的运算叫分等值连接3)实例操作(写出题目、关系代数表达式和sql语句及sql环境运算截图)【实例1】查询每个学生的选修课课的情况select student.*,sc.*from student student,scwhere student.sno=sc.sno;【实例2】查询选修课里的信息select student.sno,sname,ssex,sage,sdept,cno,grade from student,sc where student.sno=sc.sno;【实例3】查询成绩等于90分的名单select sno from sc where grade='90';4查询计算机学院的全体成员;select sname from student where sdept='CS';实例5:查询没门课程的名单Select student.sno from student,course,sc where student.sno=sc.sno and o=o group by student.sno;(28)计算1号课程的平均成绩select avg(grade)from sc where cno='1';计算1号课程的最大成绩select max(grade)from scwhere cno='1’查询200215012的选修课的学分select sum(ccredit)from sc,coursewhere sno='200215012'and o=o;查询选修2号课程的名单select sno,sname from student where sno in(select sno from sc where cno='2');查看刘晨在那个学院select sdept from student where sname='莉莉';掉看CS的同学select sno, sname, sdept from student where sdept in('CS');select sname,sno,sdept from student where sdept='CS';查询每门课的简接先修课程select o,second.cpno from course first,course secondwhere first.cpno=o;6.非等值连接查询(写出题目、关系代数表达式和sql语句及sql环境运算截图)1)非等值连接查询的定义——处用=号连接的外的语句运算2)实例操作【实例1】查找年龄在20岁一下的名单select sno from student where sage<='20';3)查找成绩在在90分下的名单4)select sno from sc where grade<='90'5)5、查询比其他学院某学生年龄比计算机学元的的学生的姓名及年龄select sname,sage from student where sage <any(select sage from student where sdept='CS')and sde pt<>'cs';6、查询非计算机系年龄在20 速之下的学生select sname,sage from student where sage<(select max(sage)from student where sdept='CS')and sdept<>'cs';7查看平均成绩在90岁以上的学号和平均成绩select sno,avg(grade)from sc group by sno having avg(grade)>=907.自身连接查询(写出题目、关系代数表达式和sql语句及sql环境运算截图)1)自身连接查询的定义2)实例操作【实例1】查询每门CNO的间接先修课select o,second.cpno from course first,course second where first.cpno=o;【实例2】8.外连接查询(写出题目、关系代数表达式和sql语句及sql环境运算截图)1)外连接查询的定义——只有满足连接条件的元祖才能作为结果输出实例操作【实例1】将向学生表里插入SC里的数据select student.sno,sname,ssex,sage,sdept,cno,gradefrom student left join sc on(student.sno=sc.sno);【实例2】将spj表连接到 s表中select s.Sno,sname,jno,qty from s left join spj on(s.sno=spj.sno);【实例4】查询 P,spj表的类容select p.pno,pname,jno from P left join spj on(p.pno=spj.pno);显示J、SPJ两表的所有信息select J.jno,jname,sno,city from J left join spj on(j.jno=spj.jno);9.复合条件连接查询(写出题目、关系代数表达式和sql语句及sql环境运算截图)1)复合条件连接查询的定义——在select语句里的WHERE 中有多个连接条件的语句2)实例操作【实例1】查看刘晨所在院系的所用成员select sno,sname,sdept from student where sdept in(select sdept from student where sname='莉莉');实例二、查询选修课名为信息系统的学号及其名字select sno,sname from student where student.sno in(select sno from sc where cno in(select cno from course where cname='信息系统'));select student.sno,sname from student,course,sc where student.sno=sc.sno and o=o and ame='信息系统';select student.sno,sname from student,course where cname='信息系统';三、查找平均成绩超过自己的学生select sno,cno from sc xwhere grade>=(select avg(grade)from sc y where y.sno=x.sno);四、查询比计算机学院某学生年龄小的学生的姓名及年select sname,sage from student where sage <any(select sage from student where sdept='CS');六、查询比其他学院某学生年龄比计算机学元的的学生的姓名及年龄select sname,sage from student where sage <any(select sage from student where sdept='CS')and sdept<>'cs';七、查询非计算机系年龄在20 速之下的学生select sname,sage from student where sage<(select max(sage)from student where sdept='CS')and sdept<>'cs';八、查询其他院系比计算机学院每一位学生都小的名单select sname,sage from student where sage<all(select sage from student where sdept='CS')and sdept <>'CS';select sname,sage from student where sage<any(select min(sage)from student where sdept='CS')and sdept <>'CS';九、查询生意选修了1号课程的学生的姓名select sname from student where exists(select*from sc where sno=student.sno and cno='1');select sname from student where student.sno in(select sno from sc wheresno=student.sno and cno='1');查询2002级数据库的平均成绩级、课程号、学号select o,cname from sc,course where o=o and cname='数据库'and sno like('2002%');完成情况:10. 1 完成了数据连接查询的自身连接、外连接、符合连接出现的问题:(小四宋体)查询时表的定义不明确时在相关字段加上X、X前缀的字段名解题措施——写注释分布查询——添加字段元素——信息比对边写边保存Select student.sno from student,course,sc where student.sno=sc.sno and o=o group by sno;消息209,级别16,状态1,第1 行列名'sno' 不明确。
实验五探究平抛运动的规律

[例2] 甲、乙两同学在研究平抛运动规律的实验中,各 自让钢球多次沿同一轨道运动,通过描点法画出钢球平抛 运动的轨迹. (1)甲同学在实验中得到A、B、C三点的坐标标记如图实 -5-2甲所示,坐标原点为抛出点,其中________点的位 置或坐标有明显错误,根据你认为正确的数据计算出钢球 平抛的初速度为________(g=10 m/s2).
实验五探究平抛运动的规律
(2)乙同学将斜槽轨道末端点取为坐标原点建立了坐标系并 标出了相应坐标数值,如图乙所示,则钢球的半径为 ________cm.
图实-5-2
实验五探究平抛运动的规律
[解析] (1)由图知钢球在 OA、AB、BC 间运动的时间相 等,竖直方向钢球做自由落体运动且 O 点为抛出点,竖 直方向由 h=12gt2 知 t=0.1 s,B 点坐标有明显错误,其 y 轴坐标应为 20,由 x=vt 知平抛初速度为 v=1.0 m/s.
实验五探究平抛运动的规律
2.数据处理 (1)描轨迹
把白纸从木板上取下来,用三角板过O作与竖直方 向垂直的x轴,将一系列所描的点用平滑的曲线连 接起来.
实验五探究平抛运动的规律
(2)求平抛小球的初速度 ①以 O 点为原点,水平方向为 x 轴,竖直向下方向为 y 轴建立坐标系.
②在平抛小球运动轨迹上选取 A、B、C、D、E 五个点, 测出它们的 x、y 坐标值,记到表格内.
出每个点的坐标值x、y,分别求出小球的初速度,然后
取平均值就得到实验测出的初速度;
实验五探究平抛运动的规律
G.靠目测在纸上画出O点向下的竖直线Oy;
H.将白纸用图钉钉在竖直的木板上,在木板的左上角固 定斜槽. (1)以上实验步骤有错误或不足,需要修改的是 _______________________________________________; (2)以上实验步骤修改后,正确的排列顺序应是 ______________________________________________.
实验五 探究平抛运动的特点

实验五探究平抛运动的特点一、实验目的1.通过实验,探究平抛运动在竖直方向和水平方向的运动特点。
2.掌握描迹法、频闪照相法等探究实验的常用方法。
3.能设计不同的实验方案,通过数据分析描绘平抛运动的轨迹,并会计算物体的初速度。
二、实验思路1.思路:把复杂的曲线运动分解为不同方向上两个相对简单的直线运动。
2.平抛运动的分解方法:由于物体是沿着水平方向抛出的,在运动过程中只受到竖直向下的重力作用,可尝试将平抛运动分解为水平方向的分运动和竖直方向的分运动。
方案一利用频闪照相法探究平抛运动的特点1.实验步骤:图1数码相机每秒拍下小球做平抛运动时的十几帧或几十帧照片,将照片上不同时刻的小球的位置连成平滑曲线,便得到小球的运动轨迹,由于相邻两帧照片间的时间间隔相等,只要测出相邻两帧照片上小球位置间的水平距离和竖直距离,就可判断平抛运动在水平方向和竖直方向的运动特点。
2.理论分析:(1)在竖直方向上,两球运动经过相等的时间,下落相同的高度,即在竖直方向上的运动是相同的,都是自由落体运动。
(2)在水平方向上,平抛运动在通过相等的时间内前进的距离相同,即水平方向上的运动是匀速直线运动。
方案二利用描迹法探究平抛运动的特点1.探究平抛运动竖直分运动的特点(1)实验按图示2装置进行实验,小钢球A、B位于相同高度处,用小锤击打弹性金属片,金属片C受到小锤的击打,向前推动A,小钢球A具有水平初速度,做平抛运动,同时松开小钢球B,自由下落,做自由落体运动。
图2(2)分析:仔细观察可知,不管两个小钢球距地面的高度为多大,或小锤击打金属片的力度多大(小锤击打金属片的力度越大,小钢球A水平抛出的初速度越大),两小钢球每次都同时落地,说明两小钢球在空中运动的时间相等,即做平抛运动的物体在竖直方向上的分运动是自由落体运动。
(3)结论:做平抛运动的物体在竖直方向上做自由落体运动。
2.探究平抛运动水平分运动的特点(1)实验装置如图3所示。
斜槽M末端水平。
VB实验五答案

沈阳师范大学面向对象程序设计实验报告实验题目实验五数组和自定义类型学号姓名刘丽年级10级指导教师王飞提交时间10.24一、实验目的(1)掌握数组的声明、数组元素的引用。
(2)掌握固定长度数组和动态数组的使用差别。
(3)掌握数组常用的操作和常用算法。
(4)掌握列表框和组合框的使用。
(5)掌握自定义类型及数组的使用。
二、实验内容及要求(1)完成课堂讲授的两个示例例5.1和例5.4。
(2)完成实验E第1实验内容(教材p272)。
(3)完成课堂讲授的实例5.10和5.13(教材p113和教材p118)。
(4)完成实验E第7实验内容(教材p273)。
三、实验分析与设计例5.1 计算一个班100个学生的平均成绩,然后统计高于平均分的人数。
步骤1 启动VisualBasic6.0,创建一个“标准EXE”类型的应用程序,步骤2 设计界面:不需添加控件如图所示:步骤3 设置控件属性。
步骤4 事件及编程,如下所示:窗体事件Private Sub Form_Click()Dim mark(1 To 100) As IntegerDim aver!, n%, i%aver = 0For i = 1 To 100mark(i) = InputBox("输入第" & i & "位学生的成绩")aver = aver + mark(i)Next iaver = aver / 100n = 0For i = 1 To 100If mark(i) > aver Then n = n + 1Next iPrint "平均分:", aver, "高于平均分的人数:", nEnd Sub步骤5 单击“运行”按钮运行程序,若程序运行有错,则进入代码窗口中调试。
步骤6 保存文件,生成可执行文件。
例5.4 求一维数组中各元素之和、最小数组元素,并将最小数组元素与数组中第一个元素交换。
C实验报告5参考答案

《高级语言程序设计》实验报告班级: 学号: 姓名: 成绩:实验5 循环结构程序设计一、实验目的1.掌握循环结构程序设计的3种控制语句——while 语句、do ···while 语句、for 语句的使用方法。
2.了解用循环的方法实现常用的算法设计。
二、实验内容1(1)下列程序的功能为:求1~100之和(和值为5050)并输出。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy5_1.c 保存。
#include <stdio.h>main(){int i,sum=0; i=1;while(i<100) while(i<=100) sum=sum+i; { sum=sum+i; i++; i++;} printf(“The sum from 1 to 100 is %d\n ”,sum); }(2)下列程序的功能为:倒序打印26个英文字母。
纠正程序中存在的错误,以实现其功能,程序以文件名sy5_2.c 保存。
#include <stdio.h> main() {char x; x='z';while(x!='a') while(x!='a'-1)或while(x >='a') {printf("%3d",x); printf("%3c ",x); x++;x - -; }}(3)下列程序的功能为:输入一个大写字母,打印出一个菱形。
该菱形中间一行由此字母组成,其相邻的上下两行由它前面的一个字母组成,按此规律,直到字母A 出现在第一行和最末行为止。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy5_3.c 保存。
例如,输入字母D ,打印出如下图形:#include <stdlib.h> main() { int i,j,k; char ch; scanf("%c",&ch); k=ch-'A'+1; for (i=1;i<=k;i++) {for (j=20;j>=i;j--)printf("%c",' ');for (j=1;j<=i-1;j++) for (j=1;j<=2*i-1;j++) printf("%c",'A'+i-1); printf("\n"); }k=ch-'A';for (i=k;i>=1;i--){ for (i=20;i>=i;i--) for (j =20;j >=i;j --) printf("%c",' ');for (j=1;j<2*i-1;j++) for (j=1;j <=2*i-1;j++) printf("%c",'A'+i-1); printf("\n"); }}2.程序填空题(1)用辗转相除法求两个正整数的最大公约数和最小公倍数。
数据库系统与应用教程(刘金岭)实验五参考答案

实验四简单查询和连接查询2. 简单查询实验用Transact-SQL语句表示下列操作,在“学生选课“数据库中实现其数据查询操作:(1) 查询数学系学生的学号和姓名。
select sno,snamefrom Swhere Sdept='MA'(2) 查询选修了课程的学生学号。
select distinct(sno)from sc;(3) 查询选修课程号为‘C2’的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
select distinct(sno),gradefrom scwhere cno='C2'order by grade desc,sno asc;(4) 查询选修课程号为‘C2’的成绩在80-90 分之间的学生学号和成绩,并将成绩乘以系数0.8 输出。
select distinct(sno),grade*0.8 as'sore'from scwhere cno='C2'and grade between 80 and 90;(5) 查询数学系(MA)或计算机科学系(CS)姓张的学生的信息。
select*from Swhere dept in('MA','CS')and sname like'张%';(6) 查询缺少了成绩的学生的学号和课程号。
select sno,cnofrom scwhere grade is null;3. 连接查询实验用Transact-SQL语句表示,并在“学生选课”数据库中实现下列数据连接查询操作:(1) 查询每个学生的情况以及他(她)所选修的课程。
select S.*,amefrom S JION sc ON s.sno=sc.sno JION c ON o=o(2) 查询学生的学号、姓名、选修的课程名及成绩。
select s.sno,sname,cname,gradefrom S JION sc ON s.sno=sc.sno JION c ON o=o(3) 查询选修‘离散数学’课程且成绩为90 分以上的学生学号、姓名及成绩。
实验3:连接查询

where ategoryId in
(select cCategoryId from Category
where cCategory='Dolls')
);
解二:/*因为Toys表和Category表都有cCategoryId*/
指导教师
日期
注:请用A4纸书写,不够另附纸。第页,共页
解四:/*连接查询与嵌套查询不一样,嵌套查询结构层析清楚,易于构造,但尽量采用连接运算*/
select OrderDetail.*
from OrderDetail,Toys,Category
where cCategory='Dolls' and
ategoryId=ategoryId and
sec.vLastName='Harris'
9.使用连接实现查询,要求输出使用了’Baby block’方式包装玩具的订单号。
select cOrderNo
from OrderDetail,Wrapper
where OrderDetail.cWrapperId=Wrapper.cWrapperId and
select cOrderNo,dOrderDate from Orders,ShippingMode
where cShippingModeId=cModeId and cMode='International Priority'
6.使用连接实现查询,查询订购者地址为‘Seattle’或者‘Orlando’的订单信息。
select cShopperId
from Shopper
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
--创建学生视图if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_stu]') and OBJECTPROPERTY(id, N'IsView') = 1)drop view [dbo].[v_stu]gocreate view v_stuasselect sid, sname, ssexy, sbdate, Datediff(year, sbdate, getdate()) as sage, stele,ugrade.gid, gname, gyear,udept.did, dname, daddr, dtele, demail,uteacher.tid, tname, tsexy, tbdate, tfield, tprof, tele, qq, email, msnfrom ustudent, ugrade, udept, uteacherwhere ustudent.gid=ugrade.gid and ugrade.did=udept.did and ugrade.tid=uteacher.tid--创建选修课程视图if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_sc]') and OBJECTPROPERTY(id, N'IsView') = 1)drop view [dbo].[v_sc]gocreate view v_scasselect ustudent.sname, usc.*, cname, credit, pcid, chour, cattr, cnumfrom ustudent, usc, ucoursewhere ustudent.sid=usc.sid and usc.cid=ucourse.cid--1、显示所有学生的详细信息,包括学号、姓名、性别、年龄、班级名称,入学年份select sid, sname, ssexy, sage, gname, gyearfrom v_stu--2、显示信息科学与技术系同学的名单,包括学号、姓名、性别、年龄、班级名称、入学年份select sid, sname, ssexy, sage, gname, gyearfrom v_stuwhere dname='信息科学与技术系'--3、显示选修了“数据库”的所有同学的学号、姓名select sid, snamefrom v_scwhere cname='数据库'--4、显示白云同学的班主任老师的姓名、联系电话select tname, telefrom v_stuwhere sname='白云'--5、显示白云同学所在院系的名称、办公地点与联系电话select dname, daddr, dtelefrom v_stuwhere sname='白云'--6、统计计算机科学与技术系每个同学已经修完的学分,显示学号、姓名、学分总数select v_stu.sid, v_stu.sname, sum(v_sc.credit)from v_stu, v_scwhere v_stu.sid=v_sc.sid and v_stu.dname='计算机科学与技术系'group by v_stu.sid, v_stu.sname--7、显示李山同学已修课程及期末成绩select sid, sname, cname, score2from v_scwhere sname='李山'--8、显示计算机科学与技术系、信息科学与技术系的班级名称、入学年份、班导名称与联系电话select distinct gname, gyear, tname, telefrom v_stuwhere dname in ('计算机科学与技术系', '信息科学与技术系')--9、显示2006年入学的同学的学号、姓名、班级名称select sid, sname, gnamefrom v_stuwhere gyear='2006'--10、显示已修数据库的同学的学号、姓名及期末成绩select sid, sname, score2from v_scwhere cname='数据库'--11、显示平均成绩75分以上的课程名称与平均成绩select cname, cast(avg(score2) as dec(5,2)) as '平均成绩'from v_scgroup by cid, cnamehaving avg(score2)>75--12、显示平均成绩80分以上同学的学号、姓名与平均成绩select sid, sname, cast(avg(score2) as dec(5,2)) as '平均成绩'from v_scgroup by sid, snamehaving avg(score2)>80--13、显示一周课时数为6节及以上的教师的姓名与研究领域select tname, tfieldfrom uteacherwhere tid in (select tidfrom ujobtablegroup by tidhaving sum(len(timeseg))>=6)--14、按照班级统计期末平均成绩,显示班级名称与平均成绩select gname, cast(avg(score2) as dec(5,2)) as '平均成绩'from v_stu, uscwhere v_stu.sid=usc.sidgroup by gid, gname--15、按照学期统计计算机科学与技术系的期末平均成绩select term, cast(avg(score2) as dec(5,2)) as '平均成绩'from v_stu, uscwhere v_stu.sid=usc.sid and v_stu.dname='计算机科学与技术系' group by term--16、统计每个院系一周的课时数,显示院系名称与课时数select dname, sum(len(timeseg))from ujobtable, uteacher, udeptwhere ujobtable.tid=uteacher.tid and uteacher.did=udept.didgroup by udept.dname--17、显示没有选修任何课程的学生学号、姓名、班级名称select sid, sname, gnamefrom v_stuwhere sid not in (select sid from usc)--18、显示上过李飞老师的课的学生的学号、姓名与联系电话select sid, sname, stelefrom ustudentwhere gid in (select gidfrom ujobtable, uteacherwhere ujobtable.tid=uteacher.tid and uteacher.tname='李飞')--19、显示一周6节课及以上的课程名称、学分select cname, creditfrom ucoursewhere cid in (select cidfrom ujobtablegroup by cidhaving sum(len(timeseg))>=6)--20、显示一周6节课及以上班级名称select gnamefrom ugradewhere gid in (select gidfrom ujobtablegroup by gidhaving sum(len(timeseg))>=6)--21、查询周四上午第3节有课的同学的学号、姓名与班级名称select sid, sname, gnamefrom v_stu, ujobtablewhere v_stu.gid=ujobtable.gid and week='4' and timeseg like '%3%'--22、显示没有不及格课程的班级的名称select distinct gnamefrom ugrade, ustudent, uscwhere ugrade.gid=ustudent.gidand ustudent.sid=usc.sidand ustudent.gid not in (select distinct gidfrom ustudent, uscwhere ustudent.sid=usc.sid and usc.score2<60)--23、显示已修数据库的同学的信息,包括学号、姓名、班级名称select v_stu.sid, v_stu.sname, gnamefrom v_stu, v_scwhere v_stu.sid=v_sc.sid and v_ame='数据库'--24、显示不及格1门以上的同学学号、姓名、门数select sid, sname, count(cid)from v_scwhere score2<60group by sid, snamehaving count(cid)>1--25、统计每个班级的最高分,显示班级名称、成绩select gname, max(score2) as '最高分'from v_sc, ustudent, ugradewhere v_sc.sid=ustudent.sid and ustudent.gid=ugrade.gidgroup by ugrade.gid, gname--26、显示一周8节课及以上的学生的名单,显示学号、姓名、班级select distinct sid, sname, gnamefrom v_stu, ujobtablewhere v_stu.gid in (select gidfrom ujobtablegroup by gidhaving sum(len(timeseg))>8)--27、显示计算机科学与技术1班一周上课的时间、地点,课程名称select week, timeseg, room, cnamefrom ujobtable, ugrade, ucoursewhere ujobtable.gid=ugrade.gid and ujobtable.cid=ucourse.cid and ugrade.gname='计算机科学与技术1班'--28、统计教授上课的课时数,显示姓名、课时数select tname, sum(len(timeseg))from ujobtable, uteacherwhere ujobtable.tid=uteacher.tid and uteacher.tprof='教授'group by uteacher.tid, uteacher.tname--29、显示没有班导师的班级名称、院系名称select gname, dnamefrom ugrade, udeptwhere ugrade.did=udept.did and ugrade.tid is null--30、显示指导两个班级以上的班导的姓名、所指导的班级名称select tname, gnamefrom uteacher, ugradewhere uteacher.tid=ugrade.tidand uteacher.tid in (select uteacher.tidfrom uteacher, ugradewhere uteacher.tid=ugrade.tidgroup by uteacher.tidhaving count(ugrade.gid)>1)。