热线电话:13121318867

登录
2022-10-31 阅读量: 439
mysql学习21- from 表子查询

-- 35 from 表子查询

-- 查询各部门最高工资的员工:empno,ename,sal,deptno

#第1步,找出各部门最高工资表,t1表

select deptno ,max(sal) 最高工资

from emp

group by deptno;

# 第2步,用emp工资与各部门最高工资t1表连接

#方法1,

select * from emp; #所有员工的工资信息 emp

select emp.deptno,empno,ename,sal,t1.deptno,t1.最高工资 from emp

inner join (select deptno ,max(sal) 最高工资 from emp group by deptno)t1

on emp.sal=t1.最高工资;

select emp.deptno,empno,ename,sal from emp

inner join (select deptno ,max(sal) 最高工资 from emp group by deptno)t1

on emp.sal=t1.最高工资

where emp.deptno =t1.deptno #加上部门编号,因为有可能出现两个部门最高工资一样

order by deptno;

#方法2,用部门编号连接

# 01 先写出emp与t1的连接结果

select emp.deptno,empno,ename,sal,t1.deptno, t1.最高工资

from emp left join (select deptno ,max(sal) 最高工资 from emp group by deptno)t1

on emp.deptno=t1.deptno;

# 02 然后加上where筛选,where emp.sal =最高工资

select emp.deptno,empno,ename,sal from emp inner join (select deptno ,max(sal) 最高工资 from emp group by deptno)t1

on emp.deptno=t1.deptno

where emp.sal =最高工资

order by deptno ;


240.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子