利用scott用户自带的四张表完成如下作业:
1、列出至少有一个员工的所有部门
select deptno,count(*) from emp group by deptno having count(1)>=1
2、列出薪金比SMITH高的所有员工
select * from emp
where sal>(select sal from emp where ename=’SMITH’);
3、列出所有员工的姓名及其直接上级领导的姓名
select a.ename 员工姓名,b.ename 领导姓名
from emp a –员工姓名
left join
emp b –领导的
on a.mgr = b.empno; –雇员编号等于领导的
4、列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称
select distinct e.ename 员工姓名,
e.empno 员工编号,
d.dname 部门名称,
e.hiredate 员工入职时间,
a.hiredate 上级入职时间
from emp e –员工
left join dept d –部门
on e.deptno=d.deptno
left join emp a –领导
on e.mgr=a.empno
where e.hiredate < a.hiredate;
5、列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门
select e.*,d.dname —部门表为主,做连接
from emp e
right join dept d
on e.deptno=d.deptno
6、列出所有CLERK(办事员)的姓名,及其部门名称,部门人数
select e.ename,e.deptno,d.dname,a.cou
from emp e
left join dept d
on e.deptno =d.deptno
left join <
第二章 Oracle的函数(习题+答案)
最新推荐文章于 2021-12-23 22:30:23 发布