oracle 子查詢和組合函式
阿新 • • 發佈:2018-11-04
oracle 子查詢和組合函式
--查詢與“SCOTT”在同一個部門的員工 select empno,ename,deptno from emp where deptno in (select deptno from emp where ename='SCOTT'); --查詢不在銷售部和財務部工作的僱員編號、姓名和部門編號。 select empno,ename,deptno from emp where deptno not in (select deptno from dept where dname in ('SALES','ACCOUNTING')); --EMP表中,找出每個超過他所在部門平均工資的員工編號,員工名稱,薪水,部門編號。 select empno,ename,sal,deptno from emp e1 where sal > (select avg(sal) from emp e2 where e1.deptno=e2.deptno); --查詢公司員工工資的最大值,最小值,平均值,總和 select max(sal),min(sal),avg(sal),sum(sal) from emp; --查詢各job的員工工資的最大值,最小值,平均值,總和 select job,max(sal),min(sal),avg(sal),sum(sal) from emp group by job; --選擇具有各個job的員工人數(提示:對job進行分組) select job,count(ename) from emp group by job; --顯示平均工資為>2000的職位 select job,avg(sal) from emp group by job having avg(sal)>2500; --計算工資在2000以上,各種職位的平均工資大於3000的職位及平均工資 Select job,avg(sal) From emp where sal>2000 group by job having avg(sal)>3000; --找每個部門的最高和最低的工資 Select deptno,max(sal),min(sal) From emp group by deptno; --顯示出工作名稱(job)中包含"MAN"的員工平均工資,最高工資,最低工資及工資的和 select avg(sal),max(sal),min(sal),sum(sal) from emp where job like '%MAN%'; --顯示出20號部門的員工人數 select count(*) from emp where deptno=20; --列出從事“SALES”(銷售)工作的僱員的姓名,假定不知道銷售部的部門編號 select ename from emp where deptno = (select deptno from dept where dname='SALES') --列出薪金高於公司平均水平的所有僱員 select ename from emp where sal>(select avg(sal) from emp); --列出某些僱員的姓名和薪金,條件是他們的薪金等於部門30中任何一個僱員的薪金 select ename,sal from emp where sal in (select sal from emp where deptno=30); --列出各個部門的MANAGER(經理)的最低薪金 Select deptno,min(sal) from emp where job="manager" group by deptno --查詢工資比公司平均工資高的所有員工的員工號empno,姓名ename和工資sal。 select empno,ename,sal from emp where sal>(select avg(sal) from emp );