10-27 插入学生总学分表 (10 分)
生活随笔
收集整理的這篇文章主要介紹了
10-27 插入学生总学分表 (10 分)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本題目要求編寫Insert語句, 計(jì)算每位同學(xué)獲得的總學(xué)分,并將所有學(xué)生的總學(xué)分按學(xué)號(hào)升序排序后一起插入到totalcredit表中。
注意:
1)當(dāng)某門課程成績在60分以上時(shí)才能合計(jì)計(jì)入總學(xué)分
2)如果某學(xué)生尚未選修任何課程時(shí),總學(xué)分計(jì)為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 /*這里分組的思路可以通過畫圖解決,先進(jìn)行sno的分組,而不同的學(xué)號(hào)的課程可以有很多, 因此就是需要在學(xué)號(hào)分完組以后再在學(xué)號(hào)的基礎(chǔ)上進(jìn)行一次分組,分組出不同的課程 (不能單獨(dú)是grade或者credit,存在重復(fù)的數(shù)據(jù)導(dǎo)致分組出現(xiàn)bug) 即可以是cno或者(grade,credit)來進(jìn)行分組 */ ) a#這里的要求起個(gè)別名 group by sno;總結(jié)
以上是生活随笔為你收集整理的10-27 插入学生总学分表 (10 分)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白酒十大品牌(中国白酒企业排行榜前十名)
- 下一篇: 《最后的荣光》名将图鉴——太史慈