sqlsever查詢學(xué)生大于平均成績后查詢他的平均成績嵌套
- 學(xué)習(xí)方法
- 2022-12-01 12:58:40
sql 嵌套查詢選修"計算機文化學(xué)"且成績高于此課程平均成績的學(xué)生學(xué)號和成績
由于不知道原題目,只能假設(shè)了,假設(shè)學(xué)號:No;成績: score ;選修課程:kc; 從成績表 sc中查詢 select No,score from sc where kc='計算機文化學(xué)' and score >( select avg(score) from sc where kc='計算機文化學(xué)') 將假設(shè)的字段和表名換成擬題目中的字段和表名利用變量@score傳遞平均成績,實現(xiàn)查詢成績高于平均成績的學(xué)生信息,實現(xiàn)與嵌套查詢相同的效果?
select @score := avg(成績) from 成績表; select * from 成績表 where 成績> @score; 第一條sql是吧平均值賦值給@score變量,第二條直接查詢成績大于變量值的記錄,等價于查詢大于平均分的記錄sql語句查詢所有大于某門課程平均成績的id以及該生本門課程的成績
SELECT*
FROMCourseScore
WHERECourse='數(shù)學(xué)'
ANDScore>(
SELECTAVG(Score)
FROMCourseScore
WHERECourse='數(shù)學(xué)'
)
更通用一些的:
SELECTA.*
FROMCourseScoreA
JOIN(--查詢各科目的平均成績
SELECTCourse,AVG(Score)Average
FROMCourseScore
GROUPBYCourse
)BONA.Course=B.Course
WHEREA.Course=B.Course
ANDA.Score>B.Average
ORDERBYA.Course,A.ScoreDESC--按科目、成績(倒序)
sql語句問題。找出每個學(xué)生超過他選修課程平均成績的課程號。
工具/材料:以Management Studio為例。
1、首先在桌面上,點擊“Management Studio”圖標(biāo)。
2、然后在該界面中,點擊“新建查詢”按鈕。
3、之后在該界面中,輸入找出每個學(xué)生超過他選修課程平均成績的課程號的SQL語句:selec t name,Cno from SCX WHERE grade >= (selec t AVG(grade) from SCY WHERE SCX.Cno = SCY.Cno);。
4、接著在該界面中,點擊“執(zhí)行”按鈕。
5、最后在該界面中,顯示每個學(xué)生超過他選修課程平均成績的課程號。
SQL 查詢 “查詢學(xué)生成績超過其選修課程平均成績的課程號”
原來多表聯(lián)合查詢還可以用列與列之間進行比較。聯(lián)合查詢后,在where用選課表的成績列 大于 選課表平均成績。 student為學(xué)生表,class為課程表,selectclass為選課關(guān)系表。 select * from selectclass as t1, (select avg(sc.classreult)as pingjun,sc.classID from selectclass as sc group by classid )as t2 where t1.classID=t2.classID and t1.classReult>t2.pingjun展開全文閱讀