当前位置: 代码迷 >> 综合 >> Oracle大四实习第三天作业
  详细解决方案

Oracle大四实习第三天作业

热度:4   发布时间:2024-02-07 01:56:11.0

--1.列出至少有一个员工的所有部门。
select dname from dept
where deptno in(select deptno from emp group by deptno having count(deptno) >=1);
--2.列出薪金比“SMITH”多的所有员工。
select * from emp
where sal > (select sal from emp where ename = 'SMITH');
--3.列出在部门“Sales”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
select ename from emp
where deptno=(select deptno from dept where dname='SALES');   
--4.列出薪金高于公司平均薪金的所有员工。
select ename from emp
where sal>(select avg(sal) from emp);   
--5.列出与“Ernst”从事相同工作的所有员工。
select * from emp;
select ename from emp
where job=(select job from emp where ename='JONES');  
--6.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。
select ename,sal from emp
where sal in (select sal from emp where deptno = 30);
--7.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。
select ename,sal from emp
where sal>(select max(sal) from emp where deptno=30);  
--8.列出所有员工的姓名、部门名称和工资.
select e.ename,(select d.dname from dept d
where d.deptno=e.deptno) as deptname,sal from emp e;
--9.列出所有部门的详细信息和部门人数。
select e.deptno,e.dname,e.loc,(select count(deptno) from emp d
where d.deptno=e.deptno group by d.deptno) as deptcount from dept e;   
--10.列出经理人的名字
select ename from emp
where empno in(select distinct mgr from emp);