select comm from emp;
--查詢工資最高的員工
select ename,job,sal from emp where sal = (select max(sal) from emp);
select ename,job,sal*13+nvl(comm,0)*13 s from emp order by s desc;
--查詢平均工資,總工資
select avg(nvl(sal,0)),sum(nvl(sal,0)) from emp;
--查詢獎金
select avg(comm),sum(comm) from emp;
--group by 和having
select avg(sal),sum(sal),deptno from emp group by deptno;
select count(comm) from emp ;
select count(ename) from emp ;
----顯示每個部門的每種崗位的平均工資和最高工資
select avg(sal),sum(sal),deptno,job from emp group by deptno, job
----顯示部門平均工資低於2000的部門和他的平均工資
--思路1:查詢出每個部門的平均工資
select avg(sal),deptno from emp GROUP by deptno;
--思路2:挑出低於2000的部門
select avg(sal),deptno from emp GROUP by deptno HAVING AVG(sal)<5000;
----1,分組函數(avg(),sum().....)只能出現在挑選清單,having,order by 子句中
----2,如果在select語句中同時包含有group by ,having,order by 那麼它們的順序是group by ,having,order by
----3,在選擇列中如果有列,運算式,和分組函數,那麼這些列和運算式必須有一個出現在group by 子句中