-- 这种别名的用法,ORACLE 不 支持。
select max(sal) m,deptno d
from emp
where m=e1.sal and d=dept.deptno
group by deptno-- 这里提供一下语句,LZ 不妨试一下。 多列 in (多列) ,这样的用法。
select * from emp e1
left join dept
on dept.deptno=e1.deptno
where (sal, deptno ) in (
select max(sal) m,deptno d
from emp
group by deptno
)
-- 如果 LZ 觉的这个不好用,还有分析函数的用法,需要的话,可以直接回复我,或 baidu 一下。
select max(sal) m,deptno d
from emp
where m=e1.sal and d=dept.deptno
group by deptno-- 这里提供一下语句,LZ 不妨试一下。 多列 in (多列) ,这样的用法。
select * from emp e1
left join dept
on dept.deptno=e1.deptno
where (sal, deptno ) in (
select max(sal) m,deptno d
from emp
group by deptno
)
-- 如果 LZ 觉的这个不好用,还有分析函数的用法,需要的话,可以直接回复我,或 baidu 一下。
可以参考
select e.*
from emp e
where (e.deptno,e.sal)
in (select deptno,max(sal)
from emp
group by deptno)
from emp
where m=e1.sal and d=dept.deptno 这写的就不对,如果你把你查出来的结果做为一个子查询。那么在外面引用m和d是可以的,但你现在是在里面引用,不可以。