2018-12-21作業
阿新 • • 發佈: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