中易网

在oracle中 “查询工资比部门30的所有员工的工资高的员工的姓名、工资、部门编号” 怎么搞?

答案:4  悬赏:70  
解决时间 2021-04-27 11:46
  • 提问者网友:浪荡羁士
  • 2021-04-27 01:55
select ename,sal,deptno from emp where sal>(select sal from emp where deptno=30)
哪里错了??
最佳答案
  • 二级知识专家网友:星星坠落
  • 2021-04-27 03:01
你的意思是指查询比部门30中最高的工资的还高的员工吧。
select ename,deptno,sal
from emp
where sal> (
select max(sal)
from emp
where deptno=30);
要用max(sal)。
全部回答
  • 1楼网友:走,耍流氓去
  • 2021-04-27 05:21
select emp.empno ,emp.sal ,emp.deptno,a.msal from emp,(select max(sal) msal ,deptno from emp group by deptno) a where emp.sal=a.msal and a.deptno=emp.deptno;
  • 2楼网友:统治我的世界
  • 2021-04-27 05:15
select * from emp a where not exists (select * from emp b where b.deptno=30 and a.sal<=b.sal) ; 你写的那个肯定错了,因为单值比较操作符不能处理多行值
  • 3楼网友:高冷不撩人
  • 2021-04-27 03:49
select ename,sal,deptno from emp where sal>all(select sal from emp where deptno=30); 或者 select ename,sal,deptno from emp where sal>(select max(sal) from emp where deptno=30); 如果你要查询任意一个 select ename,sal,deptno from emp where sal>any(select sal from emp where deptno=30); 或者 select ename,sal deptno from emp where sal>(select min(sal) from emp where deptno=30);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息