如:
员工姓名 领导姓名 领导年薪

解决方案 »

  1.   


    --如果不算奖金就自已去掉
    select e.ename 员工姓名,m.ename 领导姓名,(m.sal+nvl(m.comm,0))*12 领导年薪
    from emp e
    left join emp m on e.mgr=m.empno
    order by 领导年薪 desc;
    /*员工姓名             领导姓名               领导年薪                            
    -------------------- -------------------- ----------                            
    King                                                                            
    Jones                King                      60000                            
    Blake                King                      60000                            
    Clark                King                      60000                            
    Adams                Scott                     36000                            
    Smith                Ford                      36000                            
    Ford                 Jones                     35700                            
    Scott                Jones                     35700                            
    Ward                 Blake                     34200                            
    Martin               Blake                     34200                            
    Turner               Blake                     34200                            
    James                Blake                     34200                            
    Allen                Blake                     34200                            
    Miller               Clark                     29400                            已选择14行。
    */
      

  2.   


    --如果要把空的排在后,加个nulls last就可以了
    select e.ename 员工姓名,m.ename 领导姓名,(m.sal+nvl(m.comm,0))*12 领导年薪
    from emp e
    left join emp m on e.mgr=m.empno
    order by 领导年薪 desc
    nulls last;
    /*
    员工姓名             领导姓名               领导年薪                            
    -------------------- -------------------- ----------                            
    Blake                King                      60000                            
    Clark                King                      60000                            
    Jones                King                      60000                            
    Adams                Scott                     36000                            
    Smith                Ford                      36000                            
    Ford                 Jones                     35700                            
    Scott                Jones                     35700                            
    Ward                 Blake                     34200                            
    Martin               Blake                     34200                            
    Turner               Blake                     34200                            
    James                Blake                     34200                            
    Allen                Blake                     34200                            
    Miller               Clark                     29400                            
    King                                                                            已选择14行。
    */