实验五 连接查询参考答案
实验五 数据库的简单查询和连接查询实验(1)
![实验五 数据库的简单查询和连接查询实验(1)](https://img.taocdn.com/s3/m/b822693e83c4bb4cf7ecd19f.png)
实验五数据库的简单查询和连接查询实验(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语句表示下列操作.在学生选课库中实现其数据查询操作.①求数学系学生的学号和姓名。
连接查询
![连接查询](https://img.taocdn.com/s3/m/de99198ae53a580216fcfe95.png)
《数据库原理及应用》电子实验报告题目: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' 不明确。
实验五探究平抛运动的规律
![实验五探究平抛运动的规律](https://img.taocdn.com/s3/m/ba237262cc22bcd127ff0cb3.png)
[例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)以上实验步骤修改后,正确的排列顺序应是 ______________________________________________.
实验五 探究平抛运动的特点
![实验五 探究平抛运动的特点](https://img.taocdn.com/s3/m/50324bf1250c844769eae009581b6bd97f19bc2b.png)
实验五探究平抛运动的特点一、实验目的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实验五答案
![VB实验五答案](https://img.taocdn.com/s3/m/0b4ef15e58fafab069dc0285.png)
沈阳师范大学面向对象程序设计实验报告实验题目实验五数组和自定义类型学号姓名刘丽年级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参考答案
![C实验报告5参考答案](https://img.taocdn.com/s3/m/98a8d4a868dc5022aaea998fcc22bcd126ff423b.png)
《高级语言程序设计》实验报告班级: 学号: 姓名: 成绩:实验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)用辗转相除法求两个正整数的最大公约数和最小公倍数。
数据库系统与应用教程(刘金岭)实验五参考答案
![数据库系统与应用教程(刘金岭)实验五参考答案](https://img.taocdn.com/s3/m/b0adf2df240c844769eaeed0.png)
实验四简单查询和连接查询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:连接查询
![实验3:连接查询](https://img.taocdn.com/s3/m/602301e30c22590102029d41.png)
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
连接查询实训报告
![连接查询实训报告](https://img.taocdn.com/s3/m/e7f7c41a32687e21af45b307e87101f69f31fb44.png)
一、实训背景随着信息技术的飞速发展,数据库技术已经成为现代企业信息化建设的重要基石。
连接查询作为数据库查询语言SQL的核心组成部分,能够实现对多个表之间数据的关联和操作。
为了提高学生对数据库连接查询的理解和应用能力,本次实训旨在通过实际操作,让学生掌握连接查询的基本原理和常用技巧。
二、实训目标1. 理解连接查询的概念和分类。
2. 掌握不同类型连接查询的语法和用法。
3. 能够根据实际需求设计并执行连接查询。
4. 提高数据库查询效率,优化查询语句。
三、实训内容1. 连接查询概述连接查询是SQL语言中用于查询多个表之间关系数据的语句。
它通过指定连接条件将两个或多个表连接起来,从而实现数据的关联查询。
2. 连接查询的分类根据连接条件的使用,连接查询主要分为以下几种类型:- 内连接(INNER JOIN):返回两个表中匹配的行。
- 外连接(LEFT JOIN/RIGHT JOIN/FULL JOIN):返回左表(LEFT JOIN)或右表(RIGHT JOIN)中的所有行,以及两个表中匹配的行。
FULL JOIN返回左表和右表中的所有行,即使它们没有匹配的行。
- 交叉连接(CROSS JOIN):返回两个表的笛卡尔积,即所有可能的组合。
3. 连接查询的语法以内连接为例,其语法结构如下:```sqlSELECT column_name(s)FROM table1INNER JOIN table2ON table1.column_name = table2.column_name;```4. 实训案例假设我们有两个表:`Students`(学生信息表)和`Courses`(课程信息表),我们需要查询每个学生的姓名和所选课程名称。
- `Students` 表结构:- `StudentID`(学生ID,主键)- `StudentName`(学生姓名)- `Age`(年龄)- `Courses` 表结构:- `CourseID`(课程ID,主键)- `CourseName`(课程名称)查询语句如下:```sqlSELECT Students.StudentName, Courses.CourseNameFROM StudentsINNER JOIN CoursesON Students.StudentID = Courses.StudentID;```此查询将返回每个学生的姓名及其所选课程名称。
SQL实验及部分答案
![SQL实验及部分答案](https://img.taocdn.com/s3/m/99903ecb7e192279168884868762caaedd33bacf.png)
SQL实验及部分答案实验⼀使⽤SQL语句创建和删除数据库⼀. 实验⽬的:1、了解SQL Server 2005数据库的逻辑结构和物理结构。
2、掌握使⽤SQL 语句创建和删除数据库。
⼆. 实验准备1.明确能够创建数据库的⽤户必须是系统管理员,或是被授权使⽤CREATE DATABASE语句的⽤户。
2.了解⽤SQL语句创建和删除数据库的基本语法。
三. 实验要求3、熟练使⽤查询分析器进⾏数据库的创建和删除操作4、完成⽤sql语句建⽴和删除数据库的实验报告四. 实验内容1.以下是创建数据库userdb1的SQL语句,以下是创建数据库userdb1的SQL语句,CREATE DATABASE userdb1 --创建名为userdb1的数据库on( NAME='userdb2',--数据⽂件的逻辑名称为userdb2FILENAME= 'd:\test\userdb1.mdf', ----物理路径为d:\testSIZE=5mb,----数据初始长度为5MMAXSIZE=10mb, --最⼤长度为10MFILEGROWTH=1mb --数据⽂件每次增长1M)运⾏上诉语句建⽴数据库userdb1.2.⽤SQL语句删除步骤⼀建⽴的数据库userdb1。
drop database userdb1 --删除数据库userdb1实验⼆分别⽤向导和SQL语句创建和删除表⼀.⽤SQL语句创建表在SQL Server 2005 的查询分析器中,⽤sql语句创建student表。
表2.1 student表(学⽣信息表)CREATE TABLE student(sno char(8)not null primary key,--学号(主键)sname char(8)not null,--姓名sex char(2)null,--性别native char(20)null,--籍贯birthday datetime null,--出⽣⽇期dno char(6)null,--所在院系spno char(8)null,--专业代码classno char(4)null,--班级号entime datetime null,--⼊校时间home varchar(40)null,--家庭住址tel varchar(40)null,--联系电话)表2.2 course表(课程信息表)CREATE TABLE course(cno char(10)not null primary key, spno char(8)null,cname char(20)not null,ctno tinyint null,experiment tinyint null,lecture tinyint null,semester tinyint null,credit tinyint null)实验三修改数据库基本表的定义⼀.实验⽬的1.了解表的结构特点。
计算机网络实验报告 答案.
![计算机网络实验报告 答案.](https://img.taocdn.com/s3/m/5b9e29f7856a561252d36fd2.png)
计算机网络实验报告专业计算机科学与技术班级计102学号109074057姓名王徽军组号一组D指导教师毛绪纹安徽工业大学计算机学院二○一二年十二月目录实验总体说明 (3)实验一以太网帧的构成 (3)实验三路由信息协议RIP (8)实验四传输控制协议TCP (10)实验五邮件协议SMTP、POP3、IMAP (12)实验六超文本传输协议HTTP (14)实验总体说明1.实验总体目标配合计算机网络课程的教学,加强学生对计算机网络知识(TCP/IP协议)的深刻理解,培养学生的实际操作能力。
2.实验环境计算机网络协议仿真实验室:实验环境:网络协议仿真教学系统(通用版)一套硬件设备:服务器,中心控制设备,组控设备,PC机若干台操作系统:Windows 2003服务器版3.实验总体要求●按照各项实验内容做实验,记录各种数据包信息,包括操作、观察、记录、分析,通过操作和观察获得直观印象,从获得的数据中分析网络协议的工作原理;●每项实验均提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包括以下内容:实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题以及对思考问题的解答等,实验目的、实验原理、实验步骤不需要写入实验报告中。
实验一以太网帧的构成实验时间:_____________ 成绩:________________实验角色:_____________ 同组者姓名:______________________________练习一:领略真实的MAC帧q....U 00000010: 85 48 D2 78 62 13 47 24 58 25 00 00 00 00 00 00 .H襵b.G$X%...... 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................00000030: 00 00 00 00 00 00 00 00 00 00 00 00 ............练习二:理解MAC地址的作用●记录实验结果表1-3实验结果本机MAC地址源MAC地址目的MAC地址是否收到,为什么主机B 8C89A5-7570BB 8C89A5-757113 8C89A5-7570C1 是,主机A与主机B接在同一共享模块主机D 8C89A5-771A47 8C89A5-757113 8C89A5-7570C1 是,主机C与主机D接在同一共享模块主机E 8C89A5-757110 无无否,与主机A、C都不在同一共享模块主机F8C89A5-7715F8 无无否,与主机A、C都不在同一共享模块练习三:编辑并发送MAC广播帧●结合练习三的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。
实验五 连接查询参考答案
![实验五 连接查询参考答案](https://img.taocdn.com/s3/m/10f8bc0f76c66137ee06190e.png)
--创建学生视图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)。
上机实验五 循环结构程序设计一(带参考答案)
![上机实验五 循环结构程序设计一(带参考答案)](https://img.taocdn.com/s3/m/c9881a27482fb4daa58d4bd3.png)
上机实验五循环结构程序设计(一)一.目的要求1.掌握while、do-while、for语句的语法规则、执行流程。
2.比较3种循环语句的异同。
3.按题目要求,完成代码。
二.实验内容思考问题:3种循环的异同点?能否相互转换?for循环控制单元的表达式与while循环中表达式是如何对应的?第1题、分别用while、do-while、for语句编程,求数列前20项之和:2/1,3/2,5/3,8/5,13/8······算法提示:1)定义实变量sum、term、a、b、c,整变量i2)初始化:sum=0,分子a=2,分母b=13)初始化:i(计数器)=14)计算第i项term =a/b5)累加sum=sum+term6)计算c=a+b,更新b= a,更新a=c7)计数器加1,i++8)重复4、5、6、7,直到i>209)输出2位精度的结果编写程序:方法一,用while语句:#include<stdio.h>void main(){float s=0, a=2,b=1,c;int i=1;while(i<=20){s=s+a/b;c=a+b;b=a;a=c;i++;}printf(“s=%.2f”,s);}方法二,用do-while语句:#include<stdio.h>void main(){float s=0,a=2,b=1,c;int i=1;do {s=s+a/b;c=a+b;b=a;a=c;i++;} while(i<=20);printf(“s=%.2f”,s);}方法三,用for语句:#include<stdio.h>void main(){float s=0,a=2,b=1,c;int i;for(i=1;i<=20;i++){s=s+a/b;c=a+b;b=a;a=c;}printf(“s=%.2f”,s);}第2题、计算多项式的值:s=1!+2!+3!+4!+ (20)算法提示:该多项式迭代公式为:term=term*i,sum=sum+term注意:哪些变量需要初始化?变量应采用什么类型?编写程序:#include<stdio.h>void main(){int i;double s=0,fact=1;for(i=1;i<=20;i++){fact*=i;s=s+fact;}printf(“s=%f”,s);}把每一次迭代结果输出,程序应做怎样的修改?第3题、输入x和n,计算并输出下式的值:s=x/1+x/3+……+x/n参考答案:#include <stdio.h>int main(){int n,i;float x,s=0;printf("请输入x,n,以,分隔");scanf("%f,%d",&x,&n);for(i=1;i<=n;i+=2){s+=(x/i);}printf("\ns=%f",s);}第4题、输入一批正整数,求出其中的偶数之和。
C语言实验报告实验五参考答案
![C语言实验报告实验五参考答案](https://img.taocdn.com/s3/m/5fe84b21f02d2af90242a8956bec0975f465a417.png)
C语言实验报告实验五参考答案实验五一维数值数组(参考答案)1、设计程序sy5-1.c,计算n门课程的平均分。
例如:若有5门课程的成绩是:90.5.72.80.61.5.55,则平均分是:71.80.算法分析:先求n门课的成绩总和,(累加求和),再用累和除以课程数。
参考答案:includevoid main()double score[30]。
sum=0,aver;int n,i;printf("Inputn:");scanf("%d",&n);printf("请依次输入%d门课程的成绩",n);for(i=0;i<n;i++)scanf("%lf",&score[i]);sum=sum+score[i];aver=sum/n;printf( "\nAverage scoreis: %5.2f\n"。
aver);运行结果:2、设计步伐sy5-2.c,对输入的10个整数按倒序寄存后输出成效。
算法阐发:利用“半数交流”算法,最前面的元素和末了面的元素交流,逐步向中央挨近。
可利用两个下标变量i和XXX。
参考答案:includeint main()int a[10]={1,2,3,4,5,6,7,8,9,10};int i,j,t;for( i=0,j=9.i<j。
i++,j--)//逐一向中,交换。
直到已没有元素没交换t=a[i]。
a[i]=a[j]。
a[j]=t;}// a[i]-数组前端的数,a[j]-数组后端的数printf("交流后数组元素是:");for(i=0;i<10;i++)printf("%5d",a[i]);//%5d,5透露表现宽度printf("\n");//输出完所有的数后换行return 0;运行结果:3、设计程序sy5-3.c,输入10个整数,找出其中的最大数及其所在的下标。
实验五 探究平抛运动的特点(考点复习)-2025高考物理九大力学实验考点复习+对点训练
![实验五 探究平抛运动的特点(考点复习)-2025高考物理九大力学实验考点复习+对点训练](https://img.taocdn.com/s3/m/a52bb3003a3567ec102de2bd960590c69ec3d8ec.png)
骤进行:首先确定能够落入直管小球在圆弧面上的落点,当 h 确定时,理论上小球在圆弧面
上的落点位置是
(填“确定”或“不确定”)的,再调节小球释放位置,让小球获得合适
的平抛初速度平抛至该位置即可落入直管。满足上述条件的平抛运动初速度满足 v02
(用 h、R、g 表示)。
六、考点六:利用手机传感器探究
实验五 探究平抛运动的特点
====================近三年真题考查分布====================
年份 试卷
分值 难度
2024 无
无无
2023
北京卷 浙江 6 月
10 分 7分
★☆☆ ★★☆
浙江 1 月 7 分 2022
福建卷 5 分
★☆☆ ★★☆
====================实验讲解==================== 1. 实验目的 (1) 描绘小球做平抛运动的运动轨迹。 (2) 判断平抛运动的轨迹是不是抛物线。 (3) 计算平抛运动的初速度。 2. 实验原理 (1) 用描迹法逐点画出小球平抛运动的轨迹。
动两个分运动的特点
1.在“探究小球做平抛运动的特点”的如图实验中:
(1)如图甲所示的实验中,观察到两球同时落地,说明平抛运动在竖直方向做
;如图
乙所示的实验:将两个光滑斜轨道固定在同一竖直面内,滑道末端水平,把两个质量相等的
小钢球,从斜面的相同高度由静止同时释放,观察到球 1 落到水平板上并击中球 2,这说明
水平位移为 s,则抛出速度 v0
;
(2)改变击打力度,使小球以不同速度水平抛出,发现落在同一台阶上的小球运动时间相等。 该现象最能支撑的结论是____________; A.高度越大小球运动时间越长 B.水平速度大小不影响竖直方向的运动时间 C.小球在竖直方向上做自由落体运动
实验五 探究平抛运动的特点-2024届物理一轮复习讲义
![实验五 探究平抛运动的特点-2024届物理一轮复习讲义](https://img.taocdn.com/s3/m/d6c5c60af011f18583d049649b6648d7c1c708eb.png)
实验五探究平抛运动的特点原理装置图实验操作注意事项使小球做平抛运动,利用描点法描绘出小球的运动轨迹,建立坐标系,测出轨迹曲线上某一点的坐标x 和y ,由公式x =v 0t 和y=12gt 2,得v 0=x g 2y 1.按实验原理图甲安装实验装置,使斜槽末端水平。
2.以斜槽水平部分端口上小球球心位置为坐标原点O ,过O 点画出竖直的y轴和水平的x 轴。
3.使小球从斜槽上同一位置由静止滚下,把笔尖放在小球可能经过的位置上,如果小球运动中碰到笔尖,用铅笔在该位置标记为一点。
用同样的方法,在小球运动轨迹上描下若干点。
4.将白纸从木板上取下,从O 点开始连接画出的若干点描绘出一条平滑的曲线,如实验原理图乙所示。
1.水平:斜槽末端的切线要水平。
2.竖直:木板必须处在竖直平面内。
3.原点:坐标原点为小球在槽口时,球心在木板上的投影点。
4.同一位置:小球每次都从槽中的同一位置由静止释放。
数据处理 1.判断平抛运动的轨迹是不是抛物线若平抛运动的轨迹是抛物线,则当以抛出点为坐标原点建立直角坐标系后,轨迹上各点的坐标具有y =ax 2的关系,且同一轨迹上a 是一个特定的值。
用刻度尺测量几个点的x 、y 坐标,分别代入y =ax 2中求出常数a ,看计算得到的a 值在误差范围内是否为一常数。
2.计算平抛运动的初速度(1)平抛轨迹完整(即含有抛出点)在轨迹上任取一点,测出该点离原点的水平位移x及竖直位移y,根据x=v0t,y=12gt2,就可求出初速度v0=x g2y。
图1(2)平抛轨迹残缺(即无抛出点)如图1所示,在轨迹上任取三点A、B、C,使A、B间及B、C间的水平距离相等,由平抛运动的规律可知,A、B间与B、C间所用时间相等,设为t,则Δh=h BC-h AB=gt2所以t=h BC-h ABg,则初速度v0=xt=xgh BC-h AB考点一教材原型实验例1(2022·浙江1月选考)在“研究平抛运动”实验中,以小钢球离开轨道末端时球心位置为坐标原点O,建立水平与竖直坐标轴。
数据库系统原理实验指导书参考答案计本1电商
![数据库系统原理实验指导书参考答案计本1电商](https://img.taocdn.com/s3/m/ef417e436edb6f1aff001fc1.png)
浙江树人大学信息科技学院《数据库系统原理》实验指导书适合专业:计算机科学与技术本科专业编写部门:电子商务教研室编写日期:2012.02实验一:SQL Server 2005服务器管理... 错误!未定义书签。
实验二:创建和管理数据库.............. 错误!未定义书签。
实验三:数据定义 .............................. 错误!未定义书签。
实验四:数据更新 .............................. 错误!未定义书签。
实验五:数据查询1——简单查询... 错误!未定义书签。
实验六:数据查询(2)—连接查询错误!未定义书签。
实验七:数据查询(3)—综合........ 错误!未定义书签。
实验八:视图 ...................................... 错误!未定义书签。
实验九:约束、默认、规则.............. 错误!未定义书签。
实验十:存储过程 .............................. 错误!未定义书签。
实验十一:触发器(1).................... 错误!未定义书签。
实验十二:触发器(2).................... 错误!未定义书签。
实验十三:安全性管理 ...................... 错误!未定义书签。
实验十四:数据库的备份与还原...... 错误!未定义书签。
实验一:SQL Server 2005服务器管理一、实验目的通过实验使学生掌握SQL Server 2005数据库服务器启动、暂停、停止的方法;掌握SQL Server 2005数据库服务器的注册方法。
二、原理解析1、SQL Server 2005服务器注册注册服务器就是在SQL Server Management Studio中登记服务器,然后把它加入到一个指定的服务器组中,并在SQL Server Management Studio中显示SQL Server服务器的运行状态和在SQL Server Management Studio连接时自动启动SQL Server服务器。
连接查询实验(answer)
![连接查询实验(answer)](https://img.taocdn.com/s3/m/192a79ed6137ee06eff91855.png)
JGB非空varchar(8)姓名xm主键char(5)教工号jgh约束数据类型意义字段名Pxb varchar(20)派出部门pcbmvarchar(20)培训地点pxddint培训时间pxsj非空varchar(20)项目名称xmmc非空,外键char(5)教工号jgh主键int培训号pxh约束数据类型意义字段名1 检索所有教工的姓名以及其参与的项目名称2 检索所有姓王的教工的培训地点Select pxdd from pxb,jgbWhere jgb.jgh=pxb.jghAnd xm like ‘王%’3 检索所有培训地点在上海的教工的教工号和教工培训时间并按教工号顺序从小到大排序Select jgh,pxsj from pxbWhere pxdd like‘%上海市%’Order by jgh4 检索从钢铁车间派来培训的除了姓周和姓黄之外的教工的姓名Select xm from jgb inner join pxbOn jgb.jgh=pxb.jghWhere pcbm like’钢铁车间’and xm not like ’[周黄]%’5 检索培训次数超过2次的教工的姓名并以培训次数从大到小排序Select xm from jgb inner join pxbOn jgb.jgh=pxb.jghGroup by xmHaving count(pxb.jgh)>2Order by count(pxb.jgh) desc6 检索参加培训比李四早的教工的姓名Select xm from jgbWhere pxsj<(select pxsj from jgb,pxb where jgb.jgh=pxb.jghAnd xm=’李四’)7 检索参加光华项目的教工号在刘武之后的两个字的教工的姓名Select xm from jgb inner join pxbOn jgb.jgh=pxb.jghWhere xmmc=’光华’And xm like‘__’andJgh>(select jgh frm jgbWhere xm=’刘武’)8 检索全体项目的参与人员已及所有在编教工的姓名Select xm,xmmc fromJgb left join pxb on jgb.jgh=pxb.jgh。
实验5答案——精选推荐
![实验5答案——精选推荐](https://img.taocdn.com/s3/m/57275d908662caaedd3383c4bb4cf7ec4afeb697.png)
实验D05:数据操作与索引实验一、实验名称和性质二、实验目的1.掌握数据操作--插入、删除、修改;2.掌握数据表的索引方法;3.掌握视图的创建机制及其上的操作。
七、设计性实验1.实验要求(1)将S表系部为“计算机系”学生对应的系部改为‘CS’。
Update sSet depa=’CS’ where depa=’计算机系’(2)创建一个与SC表相同新数据表SCNEW,查询SC表中成绩为空的记录并将其复制到SCNEW 表中。
Select * into SCNEW from sc where grade is not null(3)删除SC表中成绩为空的选课记录。
Delete from sc where grade is null(4)根据S表中姓名字段建立唯一性索引。
Create unique index ui_s_sname on s(sname) 提示:因为S中有重名学生,所以不能建立姓名字段的唯一索引(5)建立S表上SNO的聚族索引。
Create clustered index ci_s_sno on s(sno)(6)建立SC表上根据SNO升序,CNO降序的复合索引。
Create index i_sc_snocno on sc(sno, cno desc)(7)建立每门课程的课程号、课程名、选课人数、平均分的视图。
Create view vCourseAsSelect o, cname, count(sno) selectNum, avg(grade) avgGrade from sc, c Where o=oGroup by o,cname2.思考题(1)是否任何可以对任意的视图进行修改?什么样的视图上不能进行修改操作?答:不是任何试图都可以进行修改,当视图中存在聚集函数或者其他函数计算时不能修改视图。
(2)如果表中某个字段重复值比较多,要不要在该字段上建立索引?为什么?答:若表中某个字段的重复值比较多,则不要在该字段上建立索引。
- 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)。