2018-12-21作业

-- 1.查询入职时间在1982-7-9之后,并且不从事SALESMAN工作的员工姓名、入职时间、职位。
select ename,hiredate,job
from emp
where hiredate>'1982-07-09' and job<>'SALESMAN'
-- 2.查询员工姓名的第三个字母是a的员工姓名。
select ename
from emp
where ename like '___a%'
-- 3.查询除了10、20号部门以外的员工姓名、部门编号。
select ename,deptno
from emp
where not (deptno in (10,20))
-- 4.查询部门号为30号员工的信息,先按工资降序排序,再按姓名升序排序。
select *
from emp
where deptno=30
order by sal desc,ename asc 
-- 5.查询没有上级的员工(经理号为空)的员工姓名。
select ename
from emp
where mgr is null
-- 6.查询工资大于等于4500并且部门为10或者20的员工的姓名\工资、部门编号。
select ename,sal,deptno
from emp
where sal>4500 and (deptno in (10,20))
-- 1.显示员工SMITH的姓名,部门名称,直接上级名称
select e.ename,dname,m.ename
from emp e join emp m
on e.mgr=m.EMPNO
join dept d
on e.deptno=d.deptno
where e.ename='SMITH'
-- 2.显示员工姓名,部门名称,工资,工资级别,要求工资级别大于4级。
select e.ename,dname,sal,grade
from emp e 
join dept d
on e.deptno=d.deptno
join salgrade
on sal between losal and hisal
where grade>4
-- 3.显示员工KING和FORD管理的员工姓名及其经理姓名。
select e.ename,m.ename
from emp e join emp m
on e.mgr=m.empno
where m.ename='KING' or m.ename='FORD'

-- 4.显示员工姓名,参加工作时间,经理名,参加工作时间,要求参加时间比经理早。
select e.ename,m.ename,e.hiredate,m.hiredate
from emp e join emp m
on e.mgr=m.empno
where e.hiredate<m.hiredate

猜你喜欢

转载自blog.csdn.net/weixin_43986069/article/details/85160243