网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了。前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态。...

IP属地:北京
网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了。前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态。...
第13题,显示所有学生的所有成绩,应该要用到行转列吧。
初学者,写下我的答案,如有问题,希望大佬能指正一下。
select stu.SId, stu.Sname,
Max(case sc.CId when '01' then sc.score else 0 end) as Chinese,
Max(case sc.CId when '02' then sc.score else 0 end) as Math,
Max(case sc.CId when '03' then sc.score else 0 end) as English,
AVG(sc.score) as avgscore
from student stu
left join sc on stu.SId=sc.SId
group by stu.SId, stu.Sname
order by avgscore DESC;
50道SQL练习题及答案与详细分析网上流传较广的50道SQL训练,奋斗了不知道多久终于写完了。前18道题的难度依次递增,从19题开始的后半部分算是循环练习和额外function的附加练习,难度恢复到普通状态。...