ORACLE 怎么查询:不同工资级别的员工的工资总和》?select 工资级别,sum(工资) from 工资表 group by 工资级别
这样就出来了
oracle数据库 。查询部门平均工资,平且显示工资等级,按部门分组,sql语句怎么写如果是scott下的那几张表的话
select t1.deptno,
t1.dname,
t1.avgsal,
max(case
when t1.avgsal between t2.losal and t2.hisal then
t2.grade
end) grade
from (select a.deptno, b.dname, round(avg(a.sal), 2) avgsal
from emp a, dept b
where a.deptno = b.deptno
group by a.deptno, b.dname) t1,
salgrade t2
group by t1.deptno, t1.dname, t1.avgsal
order by t1.deptno;
查询结果
Oracle数据库中 查询高于自己部门平均工资的员工信息 用相关子查询怎么做?。?/h2>每个部门俯场碘渡鄢盗碉醛冬互大于所有人平均工资的员工:
Select BM,YG From TB WHERE Salary(Select Avg(Salary) From TB)
每个部门大于所在部门所有人平均工资的员工:
Select BM,YG From TB
Join (Select BM,Avg(Salary) as AvgSalary From TB
Group By BM) As Temp
On TB.BM=Temp.BM
where SalaryTemp.AvgSalary
SELECT DEPT.DNAME, EMP.ENAME, (EMP.SALNVL(EMP.COMM, 0)) AS SC
FROM EMP,
DEPT,
(SELECT DEPT.DEPTNO AS D, AVG(EMP.SALNVL(EMP.COMM, 0)) ESC
FROM DEPT, EMP
WHERE EMP.DEPTNO = DEPT.DEPTNO
GROUP BY DEPT.DEPTNO) T
WH俯场碘渡鄢盗碉醛冬互ERE EMP.DEPTNO = DEPT.DEPTNO
AND EMP.DEPTNO = T.D
AND (EMP.SALNVL(EMP.COMM, 0))T.ESC;
select a.empname, b.deptname ,a.salary
from emp as a,
( select d俯场碘渡鄢盗碉醛冬互eptid,deptname ,avg(salary) c from dept group by deptid,deptname ) b
where a.deptid=b.deptid
and a.salary b.c
一、单行子查询:
1、单行子查询指在子查询中只返回单行值,这种子查询需要使用单行比较运算符,包括=、、=、、=、 。
2、单行子查询出现在WHERE子句中,如下所示:
3、单行子查询中有分组函数 , 要求分组函数返回的是单行数据 。如下图为查询出薪水比本部门平均薪水高的员工信息:
4、单行子查询出现在HAVING子句中,如下图为查询出平均薪水高于部门30最高薪水的部门信息 。
二、多行子查询:
如果子查询返回了多行,则主查询中的比较操作符应该使用多行比较操作符 。Oracle数据库中的多行比较操作符包括IN、ALL、ANY , 其中ALL和ANY不能单独使用,需要配合单行比较操作符、=、、=一起使用 。
1、多行子查询中使用IN:
IN后面是值的列表,只不过这里的值是子查询查出来的多个数据 。如下图:
三、多行子查询中使用ANY操作符:
ANY操作符不能单独使用,必须和、等比较操作符一起使用 。ANY表示大于列表中任何一个数据即为TRUE;ANY表示小于列表中的任何数据即为TRUE 。具体实现如下图:
对oracle数据库系统表emp的查询:显示平均工资低于2000的部门号、平均工资和最高工资的SQL语句怎么写?select deptNo from emp group by deptNo having avg(salary)2000
因为where子句不能使用聚合函数oracle怎么查询工资,所以可以分组oracle怎么查询工资,然后用having来实现
deptNo代表部门号oracle怎么查询工资,salary代表工资,看看和您表中oracle怎么查询工资的是否一致 。不一致修改它们即可 , 下面也是 。
select avg(salary) from emp 查询平均工资
select max(salary) from emp 查询最高工资
如何用oracle查询出部门名称,部门员工数,部门平均工资,部门最低工资雇员的姓名,及工资等级这是oracle中默认用户scott下oracle怎么查询工资的表 。
本问题涉及到三张表,数据分别如下oracle怎么查询工资:
emp表oracle怎么查询工资:
dept表:
salgrade表:
按题目要求,sql语句如下:
select b.dname 部门名称,b.counts 部门员工数,b.avgsal 部门平均工资,b.minsal 部门最低工资,a.ename 姓名,c.grade 工资等级
from emp a,
(select b.deptno,b.dname,count(*) counts,round(avg(sal),2) avgsal,min(sal) minsal
from emp a,dept b,salgrade c
where a.deptno=b.deptno and a.deptno=b.deptno
and a.sal between c.losal and hisal
group byb.deptno,b.dname) b,
salgrade c
where a.sal=b.minsal
and a.sal between c.losal and c.hisal
结果如图:
【oracle怎么查询工资 oracle查询工资最高的前10名员工】oracle怎么查询工资的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle查询工资最高的前10名员工、oracle怎么查询工资的信息别忘了在本站进行查找喔 。
推荐阅读
- 手机直播间运营,直播间运营方案
- w10net3.5文件下载,win10下载net
- 益智冲关游戏,益智小游戏闯关
- x10鸿蒙正式版升级,x10更新鸿蒙
- go语言会取代c语言吗 go语言替代c
- 什么软件能看原声直播,哪个软件可以听电影原声
- 如何钻研营销,如何进行营销
- c语言清屏函数闪烁 c语言如何清屏指定内容
- 鸿蒙系统的功能怎么设置,鸿蒙设置教程