【sql:練習題2】查詢平均成績大於等於 60 分的同學的學生編號和學生姓名和平均成績


題目:查詢平均成績大於等於 60 分的同學的學生編號和學生姓名和平均成績

 

這里提到平均分 ,要用到avg  按照學生分組,再求平均分,這里應該是考察group by 與聚合函數的使用  大於60分應該是按照分組后篩選的結果要用having

group by 與聚合函數  having 的使用 上篇博客已經寫過

於是寫的sql於下:

   SELECT studentid,AVG(score) AS a FROM student_score GROUP BY studentid HAVING a>60

要查詢完整的學生信息,應該是要與學生表student 進行join:

 

完整的sql:

 SELECT b.id, b.stdentname,a FROM student AS b JOIN
      (SELECT studentid,AVG(score) AS a FROM student_score GROUP BY studentid HAVING a>60)c
ON b.id = c.studentid

 

查詢結果:

 

 

思考一個問題:為啥這里的join  沒有用到left join   right join 呢?


免責聲明!

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



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