房天下 > 房天下问答 > 业主生活 > 其他
  • SQL Server 高手请进,急!!一小时之内答出来的.我追加100分.

    一、某班级的测试成绩通过数据库来保存,内部测试数据库名称为TEST,保存内部测试的表为TestInfo,对应的内部测试成绩表为TestScore,表结构和存储的数据如下:内部测试表:TestInfoTestID Stage TestName1 1 Logic Java2 1 HTML3 1 SQL4 1 C#/WinForms5 2 SQL Server6 2 .Net7 2 JavaScript8 2 Java9 3 .NET10 3 Java内部测试成绩表:TestScoreTestID Class StudentName Score1 S1161 张良宝 801 S1161 刘宇 1002 S1161 张良宝 602 S1161 刘宇 602 S1161 严琴 801 S1162 杨超 401 S1162 张立华 1001 S1162 陈磊 801 S1162 张伟 602 S1162 杨超 602 S1162 张立华 802 S1162 陈磊 802 S1162 张伟 402 S1162 杨飞 100编写SQL 语句实现以下的要求:(1)创建数据库TEST 和两个表(2)使用分组查询,查询出不同阶段(1、2、3)内部测试的次数(3)查询出S1161 班HTML内部测试的平均成绩;(4)学员“张立华”姓名写错了,应为“张丽华”,请编写SQL 语句进行更新;(5)S1162 班学员“杨飞”, Logic Java 内部测试成绩为80 分,录入时遗漏,请编写SQL 语句插入该记录;(6)查询出内部测试不及格(少于60 分)的人员所在的班级、姓名、内部测试名称二、学生成绩信息三个表,结构如下:学生表:Member字段名称 数据类型 说明MID Char(10) 学生号,主键MName Char(50) 姓名课程表:字段名称 数据类型 说明FID Char(10) 课程,主键FName Char(50) 课程名成绩表:Score字段名称 数据类型 说明SID int 自动编号,主键,成绩记录号FID Char(10) 课程号,外键MID Char(10

    提问者:毛头爱民俗

    发布于2010-10-30

共1个回答
  • Antettybensag 丨Lv 0
    -一--1create database testcreate table TestInfo(TestID int, Stage int, TestName varchar(50))create table TestScore(TestID int, Class varchar(50), StudentName varchar(20), Score float)--2select stage, count(1) 次数 from testinfo group by stage--3select class, avg(score) 平均成绩 from testscore where class = 'S1161' group by class--4update testscore set studentname = '张丽华' where studentname = '张立华'--5insert testscorevalues(1, 'S1162', '杨飞', 80)--6select a.class 班级, a.studentname 姓名, b.testname 内部测试名称, a.score 成绩 from testscore a join testinfo b on a.testid = b.testid where a.score < 60--二--1select a.mname 姓名, max(case when b.fname = '语文' then c.score else 0 end) 语文, max(case when b.fname = '数学' then c.score else 0 end) 数学, max(case when b.fname = '英语' then c.score else 0 end) 英语, max(case when b.fname = '历史' then c.score else 0 end) 历史 from 学生表 a left join 成绩表 c on a.mid = c.mid join 课程表 b on b.fid = c.fid group by a.mname --2select a.mname 姓名, b.fname 课程, c.score 成绩 from 学生表 a join 成绩表 c on a.mid = c.mid join 课程表 b on b.fid = c.fid where c.score < 70 --3select a.mname 姓名, avg(b.score) 平均分 from 学生表 a join 成绩表 b on a.mid = b.midorder by 平均分 desc--4create procedure usp1 @cishu intasselect a.mname 姓名, a.mid 学号 from 学生表 a join 成绩表 b on a.mid = b.midgroup by a.mname, a.midhaving count(1) = @cishu
    +1 2010-10-30 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。