10-27 插入学生总学分表 (10 分)
生活随笔
收集整理的這篇文章主要介紹了
10-27 插入学生总学分表 (10 分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本題目要求編寫Insert語句, 計算每位同學獲得的總學分,并將所有學生的總學分按學號升序排序后一起插入到totalcredit表中。
注意:
1)當某門課程成績在60分以上時才能合計計入總學分
2)如果某學生尚未選修任何課程時,總學分計為0,并插入到totalcredit表中。
Insert into totalcredit select sno,sum(credit) totalcredit from ( select stu.sno sno,case when sc.grade >= 60 then credit else 0 end credit #這里的case語句判斷是>=60,可以直接解決null存在的情況 from stu left join sc#null的存在需要使用外連接 on stu.sno=sc.sno#匹配相同的字段 left join cou on cou.cno=sc.cno group by stu.sno,sc.cno /*這里分組的思路可以通過畫圖解決,先進行sno的分組,而不同的學號的課程可以有很多, 因此就是需要在學號分完組以后再在學號的基礎上進行一次分組,分組出不同的課程 (不能單獨是grade或者credit,存在重復的數據導致分組出現bug) 即可以是cno或者(grade,credit)來進行分組 */ ) a#這里的要求起個別名 group by sno;總結
以上是生活随笔為你收集整理的10-27 插入学生总学分表 (10 分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白酒十大品牌(中国白酒企业排行榜前十名)
- 下一篇: 10-5 4-6 查询在具有最小内存容量