1)下面的脚本创建了两个表;您的任务是编写SQL查询,该查询显示具有最高平均分数的学生列表。请提供两种具有以下限制的解决方案 a)既不使用子查询也不使用游标,也不能使用其他表 b)既不使用子查询也不使用游标,也不能使用附加表,也不能使用GROUP BY子句
create table Students
(ID int identity(1,1) primary key not null,
StudentName varchar(200) not null,
);
create table StudentMarks
(ID int identity (1,1) primary key not null,
Student_ID int not null references Students (ID),
Mark int not null check (mark between 1 and 5));
insert into Students
(StudentName)
values
('Ivanov'),
('Petrov'),
('Sydorov'),
('Semenov');
insert into StudentMarks
(Student_ID,Mark)
values
(1,3), (1,4), (1,3), (1,5),
(2,3), (2,4), (2,3), (2,5),
(3,3), (3,3), (3,5), (3,3)
这是我到目前为止所尝试的内容:
select Student_ID
from StudentMarks
where MAX(AVG(Mark))=AVG(Mark)
GROUP BY Student_ID