SQL语句–case函数
eg 1:
select t1.Fname,case when isnull(t1.Grade,'')='' then t2.Re_grade else t1.Grade end FinalGrade
from Grade t1
inner join Grade_revamp t2 on t1.Sno=t2.Sno
---Grade成绩表 Grade_revamp重修表 t1.Grade成绩 t2.Re_grade重修成绩 Sno学生号
---case when isnull(t1.Grade,'')='' then t2.Re_grade else t1.Grade end FinalGrade
---这个语句的意思是:
---判断 当成绩表中的成绩为空时,就取重修表中的重修成绩,并把该列叫做FinalGrade 最终成绩
-------当成绩表中成绩不为空时,就显示该成绩,并把该列叫做FinalGrade 最终成绩
eg 2:
select Sno,Sname,Ssex=case sex when 'MAN' then '男' when 'WOMAN' then '女' end
from Student
---Ssex=case sex when 'MAN' then '男' when 'WOMAN' then '女' end
---这个语句的意思是:
---判断 当sex 为‘MAN’时,在Ssex列 写 ‘男’
------ 当sex 为‘WOMAN’时,在Ssex列 写 ‘女’