oracle查询员工表领导级别,emp表中怎么统计每个员工的领导的年薪,并按年薪由高到低排列...

SQL code--如果不算奖金就自已去掉

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行。

*/

------解决方案--------------------SQL code--如果要把空的排在后,加个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行。

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值