題目:查詢平均成績大於等於 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 呢?