CDA持证人阿涛哥

2022-10-31   阅读量: 298

Mysql

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 1 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子