永发信息网

oracle自带表emp的查询里每个部门最高薪水的员工的信息,如下

答案:2  悬赏:0  手机版
解决时间 2021-02-01 05:23
select ename, sal, empno, t.deptno
from emp
join (select max(sal) max_sal, deptno from emp group by deptno) t
on (emp.sal = t.max_sal and emp.deptno = t.deptno);

对于字段别名max(sal) max_sal,因为这条子查询已经视为t了,为什么不能写成:
select ename, sal, empno, t.deptno
from emp
join (select max(sal), deptno from emp group by deptno) t
on (emp.sal = t.max(sal) and emp.deptno = t.deptno);
执行报错:

或者不给子查询做别名t,写成:
select ename, sal, empno, emp.deptno
from emp
join (select max(sal) max_sal, deptno from emp group by deptno)
on (emp.sal =
(select max(sal) max_sal, deptno from emp group by deptno)
.max_sal and
emp.deptno =
(select max(sal) max_sal, deptno from emp group by deptno).deptno);

甚至不给字段max(sal)做别名max_sal,直接写成:

为什么都报了这个缺少右括号的错误,如果不引用,上面两种该怎么写呢?

最后一段写错了是:
select ename, sal, empno, emp.deptno
from emp
join (select max(sal), deptno from emp group by deptno)
on (emp.sal =
(select max(sal), deptno from emp group by deptno)
.max(sal) and
emp.deptno =
(select max(sal), deptno from emp group by deptno).deptno);

如果不用字段max(sal)的别名、不用表select max(sal), deptno from emp group by deptno的别名的话,这两种情况,语句该写成怎样的呢?















最佳答案
为什么题主要有意避免使用别名呢?
oracle的别名有些可以使用表名代替,有些必须要使用别名,题主有些过于较真了。
题主可以换一个写法,效率比这个好些:
select *
  from (select ename,
               sal,
               max(sal) over(partition by deptno) max_sal,
               empno,
               deptno
          from emp)
 where sal = max_sal
全部回答
支持一下感觉挺不错的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想去外面的世界闯一闯
保险公司员工做绩优所享受的利益有哪些
【三十而立 四十不惑】三十而立,四十不惑,五
杨幂名字的由来,杨幂又为什么叫做大幂幂
我的户口簿身份证给弄错了,弄成普米族,人本
骑马与砍杀1.011二战MOD原英文名字是什么,跪
凯美瑞金牛座后期保养费用
男,45岁,胃大部切除术后5天,突然发生右上
合肥怎么有两个安徽省人才市场?
格力的,董明珠是哪里人?
根据《建设项目环境风险评价技术导则》,风险
单选题我国使用“长征”系列运载火箭的动力是
一个女生,很想当我QQ亲密排名里面的第一名?
windows屏幕保护程序可以保护个人隐私吗
iPhone4的玻璃那层坏了 如果单单把玻璃弄掉里
推荐资讯
解三元一次方程【x+y-22=5 【2x-y+2=4 【2x+y
新鲜水果用保鲜薄膜包裹可延长存放时间,其主
杨家湾居民委员会地址有知道的么?有点事想过
海口社保忘记密码怎么办
gta5角色怎么找回
石灰可以吸潮吗?还有别的作用么?谢谢还有家里
威县公安局出入境受理大厅怎么去啊,我要去那
昆明电力公司员工名单
小儿为什么老让妈妈抱着是怎么回事
VF语言,求7、8填空~
【测游离氧化钙的指示剂是什么?】
矜从的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?