mysql80是什么 數(shù)據(jù)庫怎么查詢平均分大于80分的學生?
數(shù)據(jù)庫怎么查詢平均分大于80分的學生?1、第一首先在電腦上打開數(shù)據(jù)庫軟件。然后附加有學生表和成績表的數(shù)據(jù)庫。2、第二然后選中數(shù)據(jù)庫,右鍵選擇新建查詢。在右邊的空白框,輸入命令select學生表.學號,
數(shù)據(jù)庫怎么查詢平均分大于80分的學生?
1、第一首先在電腦上打開數(shù)據(jù)庫軟件。然后附加有學生表和成績表的數(shù)據(jù)庫。
2、第二然后選中數(shù)據(jù)庫,右鍵選擇新建查詢。在右邊的空白框,輸入命令select學生表.學號,avg(成績)as平均分。
3、第三然后將學生表和成績表關聯(lián)起來。命令為from學生表join成績表on學生表.學號=成績表.學號
4、第四然后用group by命令對學生表中的學號進行分組。命令為group by學生表.學號。
5、第五然后用having命令。輸出平均分大于80分的條件。
6、第六然后執(zhí)行輸入后的命令。在下面的效果欄就可以查看效果。
求解:sql數(shù)據(jù)庫檢索各科成績均大于等于該科平均成績的學生的學號和姓名?
至少得有兩個表,一個是學生檔案表,假如叫stu,字段包括:name,code,分別表示姓名、學號,一個是成績表gra,字段包括:code,subid,num,分別表示學號,科目表主鍵,分數(shù)。因為查詢結(jié)果不必展示科目名稱,就不聯(lián)查科目表了。
思路,先得到各科平均成績,再查分數(shù)不小于平均成績的學生。
查詢語句如下:
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)