-- 1.查询所有员工信息。查询员工编号,员工姓名,工资,职务名称,职务描述
select e.id '员工编号',e.ename '员工姓名',e.salary '工资',j.jname '职务名称',j.description '职务描述'
from emp e,job j
where e.job_id = j.id;
-- 2.查询员工编号,员工姓名,工资,职务名称,职务描述,部门名称,部门位置
select e.id '员工编号',e.ename '员工姓名',e.salary '工资',j.jname '职务名称',j.description '职务描述'
from emp e,job j ,dept d
where e.job_id = j.id and e.dept_id = d.id ;
-- 3.查询员工姓名,工资,工资等级
select e.ename,e.salary,s.grade
from emp e,salarygrade s
where e.salary between s.losalary and hisalary;
-- 4.查询员工姓名,工资,职务名称,职务描述,部门名称,部门位置,工资等级
select e.ename ,e.salary ,j.jname,j.description,d.dname,d.loc,s.losalary,s.hisalary
from emp e,job j,dept d,salarygrads s
where e.job_id = j.id and e.dept_id = d.id and e.salary s.losalary and hisalary;
-- 5.查询出部门编号,部门名称,部门位置,部门人数
select d.id,d.dname,d.loc,count(e.id)
from dept d left join emp e on d.id = e.dept_id
GROUP BY d.id;
-- 6.查询所有员工的姓名及直接上级的姓名,没有领导的员工也需要查询
select e1.ename ,e2.ename
from emp e1 left join emp e2 on e1.mgr = e2.id;