SQL(不存在命令)

SQL (not exists command)

create table class (cid integer primary key , cname text);

create table student (sid integer primary key, sname text);

create table attend ( cid integer , sid integer, grade integer);

Select A.cid, S.sname, S.sid
From Student S, Attend A
Where S.sid=A.sid and not exists
(Select *
From Attend A2
Where A2.cid=A.cid and A2.grade > A.grade);

我不明白为什么结果是:

对于每个 class id 显示在此 class

中获得最高分的学生姓名

我认为它会改为 return 每个 class 最低成绩的学生。

有人能帮忙吗?谢谢!

注意那里的 not 运算符 - 此查询 select 没有 的学生] 有任何其他学生的成绩比他高 - 即他的成绩最高。