sql數(shù)據(jù)庫建立學(xué)生表 求解:sql數(shù)據(jù)庫檢索各科成績(jī)均大于等于該科平均成績(jī)的學(xué)生的學(xué)號(hào)和姓名?
求解:sql數(shù)據(jù)庫檢索各科成績(jī)均大于等于該科平均成績(jī)的學(xué)生的學(xué)號(hào)和姓名?至少得有兩個(gè)表,一個(gè)是學(xué)生檔案表,假如叫stu,字段包括:name,code,分別表示姓名、學(xué)號(hào),一個(gè)是成績(jī)表gra,字段包括:
求解:sql數(shù)據(jù)庫檢索各科成績(jī)均大于等于該科平均成績(jī)的學(xué)生的學(xué)號(hào)和姓名?
至少得有兩個(gè)表,一個(gè)是學(xué)生檔案表,假如叫stu,字段包括:name,code,分別表示姓名、學(xué)號(hào),一個(gè)是成績(jī)表gra,字段包括:code,subid,num,分別表示學(xué)號(hào),科目表主鍵,分?jǐn)?shù)。因?yàn)椴樵兘Y(jié)果不必展示科目名稱,就不聯(lián)查科目表了。
思路,先得到各科平均成績(jī),再查分?jǐn)?shù)不小于平均成績(jī)的學(xué)生。
查詢語句如下:
select name,code
from stu
where code not in
(select gra.code from gra
left join (select subid,avg(num) as anum from gra group by subid) as g
on gra.subid=g.subid
where g.anum>gra.num)