内部测试表:TestInfo
TestID Stage TestName
1 S1 Logic Java
2 S1 HTML
3 S1 SQL
4 S1 C#/WinForms
5 S2 SQL Server
6 S2 .Net
7 S2 JavaScript
8 S2 Java
9 Y2 .NET
10 Y2 Java
内部测试成绩表:TestScore
TestID Class StudentName Score
1 S1161 张良宝 80
1 S1161 刘宇 100
2 S1161 张良宝 60
2 S1161 刘宇 60
2 S1161 严琴 80
1 S1162 杨超 40
1 S1162 张立华 100
1 S1162 陈磊 80
1 S1162 张伟 60
2 S1162 杨超 60
2 S1162 张立华 80
2 S1162 陈磊 80
2 S1162 张伟 40
2 S1162 杨飞 100
使用分组查询,查询出不同阶段(S1、S2、Y2)内部测试的次数;
查询出S1161班第二次内部测试的平均成绩;
S1162班学员“杨飞”, Logic Java内部测试成绩为80分,录入时遗漏,请编写SQL语句插入该记录;
查询出内部测试不及格(少于60分)的人员所在的班级、姓名、内部测试名称、内部测试成绩。
TestID Stage TestName
1 S1 Logic Java
2 S1 HTML
3 S1 SQL
4 S1 C#/WinForms
5 S2 SQL Server
6 S2 .Net
7 S2 JavaScript
8 S2 Java
9 Y2 .NET
10 Y2 Java
内部测试成绩表:TestScore
TestID Class StudentName Score
1 S1161 张良宝 80
1 S1161 刘宇 100
2 S1161 张良宝 60
2 S1161 刘宇 60
2 S1161 严琴 80
1 S1162 杨超 40
1 S1162 张立华 100
1 S1162 陈磊 80
1 S1162 张伟 60
2 S1162 杨超 60
2 S1162 张立华 80
2 S1162 陈磊 80
2 S1162 张伟 40
2 S1162 杨飞 100
使用分组查询,查询出不同阶段(S1、S2、Y2)内部测试的次数;
查询出S1161班第二次内部测试的平均成绩;
S1162班学员“杨飞”, Logic Java内部测试成绩为80分,录入时遗漏,请编写SQL语句插入该记录;
查询出内部测试不及格(少于60分)的人员所在的班级、姓名、内部测试名称、内部测试成绩。
/*
C2 次数
----- -----------
S1 4
S2 4
Stage 1
Y2 2(4 行受影响)*/
insert into TestScore values(1,'S1162',杨飞,80)
select Class, StudentName,b.TestName, Score from TestScore a
left join TestInfo a.TestID =b.TestID
where Score<60
from TestInfo
group by TestIDselect TestID,avg(Score) as 平均成绩
from TestScore
where TestID='2'insert into TestScore
values(1,'S1162',杨飞,80)select Class,StudentName,TestName,Score
from TestScore,TestInfo
where TestScore.TestID=TestInfo.TestID and Score<60
select Stage,count(1) as 内部测试的次数 from TestInfo group by Stage2.
select avg(Score) from TestScore where TestID=2 and Class='S1161'3.insert into TestScore select 1,'S1162',杨飞,80 4.
select
a.Class, a.StudentName,b.TestName, b.Score
from
TestScore a
left join TestInfo b
on
a.TestID =b.TestID
where
b.Score<60