一、条件表达式
(1)使用 case when
select empno, ename, job, sal "涨前薪水",
case job
when 'PRESIDENT' then sal + 1000//涨1000
when 'MANAGER' then sal + 800//涨800
else sal + 400//其他人涨400
end "涨后薪水"
from emp;
(2)使用 decode 函数:
select empno, ename, job, sal "涨前薪水",
decode(job,
'PRESIDENT', sal + 1000,//涨1000
'MANAGER', sal + 800,//涨800
sal + 400)//涨400
from emp;
二、分组函数
分组函数:也称之为组函数或者聚合函数,oracle 提供的常用的分组函数有:sum, avg, count, max, min。
(1)统计员工总数
select count(empno) from emp;
select count(*) from emp;//二者等价
(2)统计工种总数
select count(job) from emp;
select count(distinct job) from emp; //去重
(3) 求员工的平均工资
select avg(sal) from emp;
select sum(sal)/count(empno) from emp;//二者等价
(4)求员工的平均奖金
select avg(comm), sum(comm)/count(comm) from emp;
(5)求员工表中最高工资和最低工资
select max(sal), min(sal) from emp;
(6)分组函数的滤空功能:使用nvl 函数,在前面讲过,这里不再举例。