一.查找每个员工的姓名,部门编号,薪水和薪水等级
select emp.ename, emp.deptno, emp.sal, SALGRADE.GRADE
from emp
join SALGRADE
on emp.sal>=LOSAL and emp.sal<=HISAL;

二.查找每个部门的编号,以及该部门所有员工的平均工资,平均工资等级;
我们先慢慢尝试,先查找每个部门的编号,以及该部门所有员工的平均工资
select deptno,avg(sal) as "部门平均工资"
from emp
group by deptno;

再与第其他表建立联系:将上述语句形成的临时表用括号括起来,当做一个表,与salgrade表连接,这一点对于初学者很难想到;

三.查找每个部门的编号,部门名称,以及该部门所有员工的平均工资,平均工资等级;
select t.deptno, dept.dname as "部门名称", t.部门平均工资, SALGRADE.GRADE
from (
select emp.deptno,avg(sal) as "部门平均工资"
from emp
join dept
on emp.deptno=dept.deptno
group by emp.deptno) as "T"
join SALGRADE
on T."部门平均工资" between salgrade.LOSAL and SALGRADE.HISAL
join dept
on t.deptno=dept.deptno;

练习必须基于对表的熟悉的基础上,当然我们也可以右击“数据关系库”——新建数据库关系图——全选(长按shift)——添加,关闭,就可以“俯瞰”这些表的关系和字段名称了;


表名的大小写不影响语句的执行;

![C++进阶 | [4] map and set](https://img-blog.csdnimg.cn/direct/6638f7de97ce4e25ac4ab6a0bbfa765e.png)
















