これを行うにはいくつかの方法がありますが、一時テーブルを作成しないようにすると、次のようなことができます。
select
s.id,
avg(case when sb.id = '01' then s.score end) as math,
avg(case when sb.id = '02' then s.score end) as bio
from student s
join subject sb on (sb.id = s.subject_id)
group by s.id
必要に応じて、合計/大文字小文字の行を他の主題に入力するだけです!
お役に立てば幸いです。