2016-02-28 56 views
1
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); 

我不明白,爲什麼結果是:SQL(不存在命令)

對於每一類ID顯示得到了最高分在這個類

我認爲這同學的名字而是將每個班的最低成績返回給學生。

任何人都可以幫忙嗎?謝謝!

回答

0

注意not運營商那裏 - 此查詢中選擇學生(s)表示有任何其他的學生比他更大的等級 - 即他有最大等級。

+0

終於得到邏輯背後,謝謝 – peterchen