


有這兩張表。要求:
(1)查詢參加cno='3-105'這門考試的最高分和最低分,以及這些學生的名字
(2)查詢所有課程的平均分,顯示所有課程的名稱、課程編號和平均分
不是很懂!
急求大佬解答!!!感激!
uj5u.com熱心網友回復:
刷到了即是有緣,做個練習題,先做第一個問題,單門課程最高分與最低分對應的學生。
select s.sno,s.sname,c.cno,c.cname,sc.score from StudentInfo s, StudentScore sc, CourseInfo c
where s.sno = sc.sno and sc.cno = c.cno and FIND_IN_SET(sc.score,(
select CONCAT(max(score),',',MIN(score)) from StudentScore where cno='3-105'
))
知識點:多表聯查、Max和Min最大值最小值函式、CONCAT字串連接函式、FIND_IN_SET函式
貼一下查詢結果:
sno sname cno cname score
103 陸君 3-105 計算機導論 92
109 王芳 3-105 計算機導論 76
uj5u.com熱心網友回復:
第二題還是比較簡單的。先連接查詢再加GROUP BY即可。
select c.cno, c.cname, avg(sc.score) as avg_score from CourseInfo c, StudentScore sc
where c.cno = sc.cno GROUP BY c.cno, c.cname
查詢結果:
cno cname avg_score
3-105 計算機導論 85.333333
3-245 作業系統 76.333333
6-166 數字電路 81.666667
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/10284.html
標籤:MySQL
上一篇:hive表的null值問題
