非正規化されたテーブルの場合
例えば、以下のように科目ごとにテストの結果を複数持つpractice_test_score_tableテーブルが存在するとします。

このテーブルから、scoer_1~3のうち最も点数が高いものをmax_scoreとし、それぞれの生徒ごとに表示するとします。
その場合は、以下のようにSelect文内でCase文を使って出しわけることができます。
SQL
select
id,
student_name,
case
when score_1 >= score_2 and
score_1 >= score_3
then score_1
when score_2 >= score_3
then score_2
else score_3
end as max_score
from
practice_test_score_table;
正規化されている場合
上記の例は説明の簡略化のために非正規化されたテーブルを使いましたが、普通は以下のように正規化されたテーブルが使われるかと思います。
・生徒マスタ

・点数明細

・結合ビュー

このようなエンティティ構造において、それぞれの生徒の最高得点を求めます。
SQL
select
s_mst.id,
s_mst.student_name,
max_score
from
practice2_student_mst s_mst
inner join
(select sc.student_id, max(sc.score) as max_score
from practice2_score sc
group by sc.student_id) as sc
on s_mst.id = sc.student_id
order by id;
