1、列出至少有一个员工的所有部门
分析: 所有部门的员工数量
count(),group by
select deptno,count(empno) from emp group by deptno;
count(empno)>1
having
select deptno,count(empno) from emp group by deptno having count(empno)>1;
select d.*,ed.cou
from dept d,(select deptno,count(empno) cou from emp group by deptno having count(empno)>1) ed
where d.deptno=ed.deptno;
2、列出薪金比“SMITH”多的所有员工
select sal from emp where ename='SMITH';
select * from emp where sal>(select sal from emp where ename='SMITH');
3、列出所有员工的姓名以及其直接上级的姓名
select e.ename 员工的姓名,m.ename 领导的姓名
from emp e,emp m
where e.mgr=m.empno(+);
4、列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称
select e.empno,e.ename,d.dname
from emp e,emp m,dept d
where e.mgr=m.empno and e.hiredate<m.hiredate and e.deptno=d.deptno;
5、列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门
左右连接
select d.dname,e.*
from emp e,dept d
where e.deptno(+)=d.deptno;
6、列出所有“CLERK”的姓名及其部门名称,部门的人数
select ename,deptno from emp where job='CLERK';
select e.ename,d.dname,
from emp e,dept d
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载