--------------------------表結構--------------------------
student(StuId,StuName,StuAge,StuSex) 學生表
teacher(TId,Tname) 教師表
course(CId,Cname,C_TId) 課程表
sc(SId,S_CId,Score) 成績表
----------------------------------------------------------
問題三:查詢所有同學的學號、姓名、選課數、總成績
SELECT b.StuId,b.StuName,COUNT(a.S_CId), SUM(CASE WHEN a.Score is NULL then 0 else a.Score END) FROM sc a RIGHT JOIN student b ON a.SId=b.StuId GROUP BY StuId;
使用左外連接(評論區大佬提供的方法)
SELECT StuId 學號,StuName 姓名,COUNT(S_CId) 選課數, SUM(CASE WHEN s.Score IS NULL THEN 0 ELSE s.Score END) 總成績 FROM student LEFT JOIN sc s ON SId = StuId GROUP BY StuId;
答案僅供參考,不一定完全正確,若發現錯誤或有更好的,歡迎評論,互相交流,一起成長!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/46557.html
標籤:MySQL
