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

posted on 2017-12-18 16:43  一只小小小兔兔  阅读(2674)  评论(0编辑  收藏  举报

导航