求一SQL语句:以等级方式来显示成绩表学生的分数!

有一张学生成绩表:
姓名 语文 数学 历史
张三 60 90 59

用sql语句查出一下效果。
张三 及格 优秀 不及格

 select (CASE WHEN 语文 < 60 THEN '不及格' WHEN 语文 BETWEEN 60 AND 90 THEN '及格' WHEN 语文 > 90 THEN '优秀' END) as 语文
(CASE WHEN 数学 < 60 THEN '不及格' WHEN 数学 BETWEEN 60 AND 90 THEN '及格' WHEN 数学 > 90 THEN '优秀' END) as 数学
(CASE WHEN 历史 < 60 THEN '不及格' WHEN 历史 BETWEEN 60 AND 90 THEN '及格' WHEN 历史 > 90 THEN '优秀' END) as 历史 from 表