ORACLE EMP DEPT SQL整理

1. 列出所有至少有一个员工的部门。

SELECT dname FROM dept WHERE deptno IN (SELECT deptno FROM emp GROUP BY  deptno);

2. 列出薪金比"SMITH"多的所有员工。

SELECT ename FROM emp WHERE sal > (SELECT sal FROM emp WHERE ename='SMITH');

3. 列出所有员工的姓名及其直接上级的姓名。

SELECT ename,(SELECT ename FROM emp b WHERE empno = a.mgr) FROM emp a ;

4. 列出受雇日期早于其直属上级的姓名。

SELECT ename FROM emp a WHERE hiredate < (SELECT hiredate FROM emp WHERE empno=a.mgr);

5. 列出部门名称和这些部门员工的信息,同时列出没有员工的部门。

SELECT dname,emp.* FROM dept LEFT JOIN emp ON dept.deptno=emp.deptno;

6. 列出所有工作为“CLERK”办事员的姓名及其部门名称。

SELECT ename,dname FROM emp LEFT JOIN dept ON dept.deptno=emp.deptno WHERE emp.job='CLERK';

7. 列出最低薪金大于1500的各种工作。

SELECT job FROM emp GROUP BY job HAVING MIN(sal) > 1500;

8.  列出在部门‘SALES’销售部工作的员工的姓名,假定不知道销售部的部门编号。

SELECT ename FROM emp WHERE deptno = ( SELECT deptno FROM dept WHERE dname='SALES'); 

9. 列出薪金高于公司平均水平的员工。

SELECT ename FROM emp WHERE sal > (SELECT SUM(sal)/COUNT(sal) FROM emp);

10. 列出与员工‘SCOTT’从事相同工作的员工。

SELECT ename FROM emp WHERE job = (SELECT job FROM emp WHERE ename = 'SCOTT') AND ename <> 'SCOTT';

11. 列出薪金等于部门编号30员工的所有员工的姓名和薪金。

SELECT ename,sal FROM emp WHERE sal = ANY (SELECT sal FROM emp WHERE deptno= '30' ) AND deptno <> '30' ;

12. 列出薪金高于部门编号30所有员工的姓名和薪金。

SELECT ename,sal FROM emp WHERE sal > (SELECT MAX(sal) FROM emp WHERE deptno= '30' ) AND deptno <> '30' ;

13. 列出在每个部门工作的员工数量,平均工资和平均服务期限。

SELECT deptno,COUNT(*),AVG(sal),AVG(SYSDATE-hiredate) FROM emp GROUP BY deptno;

14. 列出所有员工的姓名,部门名称和工资。

SELECT ename,nvl(sal,sal+comm),dname FROM emp,dept WHERE dept.deptno=emp.deptno;

15. 列出所有部门的详细信息和部门人数。

SELECT dept.*,count(*) FROM dept,emp WHERE dept.deptno=emp.deptno GROUP BY dept.deptno,dname,loc;

16. 列出各种工作的最低工资。

SELECT job,min(nvl(sal,sal+comm)) FROM emp GROUP BY job;

17. 列出工作为“MANAGER”的员工的最低薪金。

SELECT job,min(sal) FROM emp WHERE job='MANAGER' GROUP BY job;

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值