1、查詢出有3個以上下屬的員工信息(子查詢--分級查詢-having)SELECT*FROM emp e WHERE(SELECTcount(*)FROM emp WHERE e.empno=mgr)>=3;2、查詢所有大于本部門平均工資的員工信息(子查詢--分組)SELECT job,count(*)FROM emp WHERE sal>(SELECTavg(sal)FROM emp)GROUPBY job;3、查詢所有工資高于平均工資(平均工資包括所有員工)的銷售人員('SALESMAN')(子查詢--聚合函數)SELECT*FROM emp WHERE job='SALESMAN'AND sal>(SELECTavg(sal)FROM emp);4、查詢各個職位員工工資大于平均工資(平均工資包括所有員工)的人數和員工職位(子查詢--聚合函數)SELECT job,count(*)FROM emp WHERE sal>(SELECTavg(sal)FROM emp)GROUPBY job;5、查看每個員工都工作在哪個城市
SELECT d.loc FROM emp e RIGHTJOIN dept d ON e.job = d.dname;SELECT ename,loc FROM emp e,dept d WHERE e.deptno=d.deptno;6、查看每個員工都工作在哪個城市并在結果集中顯示40部門信息
SELECT ename,loc FROM emp e,dept d WHERE e.deptno=d.deptno AND e.deptno=40;SELECT*FROM(SELECT a.deptno deptno, loc FROM emp a, dept d WHERE a.deptno = d.deptno) c WHERE c.deptno =40;7、查看每個員工的工資等級
SELECT e.*, s.grade FROM emp e, salgrade s WHERE sal BETWEEN losal and hisal;8、查看每個員工的直屬管理者
SELECT e.*, e2.ename FROM emp e,emp e2 WHERE e.mgr=e2.empno;9、查詢員工的基本信息,附加其上級的姓名(自連接)SELECT e.*, e. ename FROM emp e;10、顯示所有職員的姓名及其所在部門的名稱和工資(多表查詢)SELECT e.ename, d.dname, e.sal FROM emp e, dept d;11、查詢在研發部('RESEARCH')工作員工的編號,姓名,工作部門,工作所在地(多表查詢)SELECT e.empno, e.ename, d.dname, d.loc FROM emp e, dept d WHERE e.deptno = d.deptno AND d.dname ='RESEARCH';12、查詢各個部門的名稱和員工人數(分組+多表查詢)SELECT e.deptno, c FROM(SELECTCOUNT(*) c, deptno FROM emp GROUPBY deptno) e, dept d WHERE e.deptno = d.deptno;13、查詢每個員工的信息及工資級別(用到表Salgrade)(多表查詢)SELECT e.*,s.grade FROM emp e,salgrade s WHERE sal BETWEEN losal AND hisal;14、部門編號與7934相同的人有哪些?(子查詢)
SELECT e.*,s.grade FROM emp e,salgrade s WHERE sal BETWEEN losal AND hisal;15、參加工作比7788晚的人有哪些?(子查詢)
SELECT e.*,s.grade FROM emp e,salgrade s WHERE sal BETWEEN losal AND hisal;16、每個部門拿最少工資的人?(分組)
SELECT e.*,s.grade FROM emp e,salgrade s WHERE sal BETWEEN losal AND hisal;17、查詢姓名中第二個字母為L的人的工資(函數)
select ename,sal from emp where ename like'_L%';18、列出工資前5名的人(子查詢)
SELECT rownum rn, tt.*FROM(SELECT*FROM emp ORDERBY sal DESC) tt WHERE rownum <6;19、大于30部門最大工資的人?(子查詢--分組)SELECT*FROM emp WHERE sal >ALL(SELECT sal FROM emp WHERE deptno =30);20、工資高于本部門平均工資的人(拿上游工資的人)? (子查詢--分組)SELECT*FROM emp e,(SELECTAVG(sal) avgsal, deptno FROM emp GROUPBY deptno) b WHERE e.deptno = b.deptno;21、工資相同的人有哪些?(子查詢)
SELECT*FROM emp WHERE sal in(SELECT sal FROM emp GROUPBY sal HAVINGCOUNT(empno)>1);22、顯示工資比'ALLEN'高的所有員工的姓名和工資(子查詢)
SELECT e.ename, e.sal FROM emp e WHERE e.sal >(SELECT m.sal FROM emp m WHERE m.ename ='ALLEN')23、顯示與'SMITH'從事相同工作的員工的詳細信息(子查詢)
SELECT*FROM emp WHERE deptno=(SELECT deptno FROM dept WHERE dname='SMITH');24、查詢工資相同的員工的工資和姓名(子查詢)SELECT*FROM emp e WHERE(SELECTcount(*)FROM emp WHERE sal=e.sal GROUPBY sal)>1;25、按工資進行排名,排名從1 開始,工資相同排名相同(如果兩人并列第1 則沒有第2 名,從第三名繼續排)SELECT sal,rank ()over(ORDERBY sal DESC)FROM emp;與50位技術專家面對面20年技術見證,附贈技術全景圖