--1. 查询最高工资员工的名字,工作岗位
select ename,job,sal from emp where sal=(select max(sal) from emp);
--2. 算出部门 30 中得到最多奖金的员工姓名
select ename,deptno,comm from emp where comm=(select max(comm) from emp where deptno=30);
--3. 找出工资比ford高的员工的信息
--select * from emp where sal>(select sal from emp where ename='FORD');
--4. 找出不在部门20,且比部门20的任何一个员工的工资都高的员工的姓名和所在部门名称。
select e.ename,d.dname from emp e join dept d on e.deptno=d.deptno where e.deptno<>20 and sal>all(select sal from emp where deptno=20);
--5. 查询与SMITH的部门和岗位完全相同的所有雇员。
select ename,deptno,job from emp where (deptno,job)=(select deptno,job from emp where ename='SMITH') and ename<>'SMITH';
--6. 查询每个部门工资最高的员工
select ename,sal,deptno from emp where (deptno,sal) in(select deptno,max(sal) from emp group by deptno);
--7. 显示员工‘FORD’的上级
select E.ename 员工,m.ename 领导 from emp e join emp m on e.mgr=m.empno where e.ename='FORD';
--8. 查询工资比部门30的所有员工的工资高的员工的姓名、工资和部门号
select ename,sal,deptno from emp where sal>all(select sal from emp where deptno=30);
--9. 查询工资比部门30的任意一个员工的工资高的员工的姓名、工资和部门号
select ename,sal,deptno from emp where sal>any(select sal from emp where deptno=30);
--10. 查询emp表中各部门平均工资的最大值和其所在的部门编号
--select max(avg(sal)) from emp group by deptno;
--select deptno,avg(sal) from emp group by deptno having avg(sal)=(select max(avg(sal)) from emp group by deptno);
--11. 查询emp表中平均工资的最大值和其所在的部门编号及部门名称
select e.deptno,dname,avg(sal) from emp e join dept d on e.deptno=d.deptno group by e.deptno,dname having avg(sal)=(select max(avg(sal)) from emp group by deptno);