Oracle条件表达式
/*
条件表达式 sql语句数据库通用表达式
case 列
when 列值1 then 显示值1
when 列值2 then 显示值2
when 列值3 then 显示值3
else
默认值
end
orace特有条件表达式
decode(列,列值1,显示值1,列值2,显示值2,默认值)
*/
select e.empno emp_no,e.ename emp_name,d.dname,
case s1.grade
when 1 then '一级'
when 2 then '二级'
when 3 then '三级'
else
'四级'
end emp_grade
,
m.empno mgr_no,m.ename mgr_name ,
decode(s2.grade,3,'三级',4,'四级','五级') mgr_grade
from emp e,emp m,dept d ,salgrade s1,salgrade s2
where
e.mgr = m.empno and e.deptno = d.deptno
and e.sal between s1.losal and s1.hisal
and m.sal between s2.losal and s2.hisal