在oracle中查询公司中工资最高的两个人的员工号、lastname和工资,要求并列的select 员工号、lastname、工资 from (
select 员工号、lastname、工资 from 表 order by 工资 desc )
where rownum=2
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>每个部门俯场碘渡鄢盗碉醛冬互大于所有人平均工资的员工oracle怎么查工资:
Select BM,YG From TB WHERE Salary(Select Avg(Salary) From TB)
每个部门大于所在部门所有人平均工资的员工oracle怎么查工资:
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、单行子查询指在子查询中只返回单行值oracle怎么查工资,这种子查询需要使用单行比较运算符oracle怎么查工资,包括=、、=、、=、 。
2、单行子查询出现在WHERE子句中 , 如下所示:
3、单行子查询中有分组函数,要求分组函数返回的是单行数据 。如下图为查询出薪水比本部门平均薪水高的员工信息:
4、单行子查询出现在HAVING子句中,如下图为查询出平均薪水高于部门30最高薪水的部门信息 。
二、多行子查询:
如果子查询返回oracle怎么查工资了多行,则主查询中的比较操作符应该使用多行比较操作符 。Oracle数据库中的多行比较操作符包括IN、ALL、ANY,其中ALL和ANY不能单独使用 , 需要配合单行比较操作符、=、、=一起使用 。
1、多行子查询中使用IN:
IN后面是值的列表,只不过这里的值是子查询查出来的多个数据 。如下图:
三、多行子查询中使用ANY操作符:
ANY操作符不能单独使用,必须和、等比较操作符一起使用 。ANY表示大于列表中任何一个数据即为TRUE;ANY表示小于列表中的任何数据即为TRUE 。具体实现如下图:
如何用oracle查询出部门名称,部门员工数,部门平均工资,部门最低工资雇员的姓名,及工资等级这是oracle中默认用户scott下的表 。
本问题涉及到三张表,数据分别如下:
emp表:
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查询最高工资】关于oracle怎么查工资和oracle查询最高工资的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 中国版战略游戏,战略游戏app
- sqlserver清空日志文件,sqlserver2016日志清理
- 少妇私密sap推油视频,少妇私密sap推油视频
- mysql怎么创建库 mysql 创建库
- 越南erp系统是怎样的一个软件,越南it
- sqlserver和hadoop,SQLSERVER安装报错
- mysql误删除怎么解决 mysql误删除数据恢复
- 和家亲怎么更改路由器密码,和家亲如何修改路由器密码
- 有关探险动作手游的游戏,有关探险动作手游的游戏叫什么