Mysql學生課程表面試集合
阿新 • • 發佈:2018-11-10
現有如下2個表,根據要求寫出SQL語句。
student表:編號(sid),姓名(sname),性別(sex)
course表:編號(sid),科目(subject),成績(score)
問題1:查詢出所有科目總成績最高的學生姓名及總成績
方式一):
1 select s.sid,s.sname,sum(c.score) as z 2 from course c 3 left join student s 4 on c.sid = s.sid 5 group by c.sid,s.sname 6 order by z desc7 limit 1
方式二):
1 SELECT 2 sname 3 FROM 4 student 5 WHERE 6 sid IN ( 7 SELECT 8 sid 9 FROM 10 ( 11 SELECT 12 sid, 13 sum(score) AS z 14 FROM15 grade 16 GROUP BY 17 sid 18 ORDER BY 19 z DESC 20 LIMIT 1 21 ) AS qw 22 ) 23 UNION 24 ( 25 SELECT 26 sum(score) AS z 27 FROM 28 grade29 GROUP BY 30 sid 31 ORDER BY 32 z DESC 33 LIMIT 1 34 )