【sql: 練習題4】查詢所有同學的學生編號、學生姓名、選課總數、所有課程的成績總


題目:查詢所有同學的學生編號、學生姓名、選課總數、所有課程的成績總和

分析:看到總數 應該是要用count(course) ,成績總和 應該是sum(score) 這些聚合函數,因為要知道每個人的 因此要以人分組 group by studentid

          因為要知道學生的詳細信息,因此要join on student 表

 

寫出來的sql:

SELECT a.id,a.stdentname, b, c FROM student a JOIN
      (SELECT studentid,COUNT(courseid)AS b,SUM(score) AS c FROM student_score GROUP BY studentid)d
ON a.id = d.studentid;

 

查詢的結果:

 

改進: 把沒有選課和沒有課程成績的學生也顯示出來,就要用到 left join 了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM