1.逻辑判断功能
1.1 case表达式
- 数据类型均需一致(VARCHAR2\CHAR等)
ex:
SQL> SELECT ename,job,sal,
2 CASE job WHEN 'SALESMAN' THEN 1.20*sal
3 WHEN 'MANAGER' THEN 1.30*sal
4 WHEN 'ANALYST' THEN 1.40*sal
5 ELSE sal END "Last Salary"
6 FROM emp
7 ORDER BY job;
1.2 DECODE函数
- 功能同上
ex:
SQL> SELECT ename,job,sal,
2 DECODE( job ,'SALESMAN' , 1.20*sal,
3 'MANAGER', 1.30*sal,
4 'ANALYST' , 1.40*sal,
5 sal)
6 Last Salary
7 FROM emp
8 ORDER BY job;
2.分组函数
- AVG 平均值
- SUM 总值
- MAX 最大值
- MIN 最小值
- COUNT 返回计算得到的行数
包括空行和重复的行 - GROUP BY 按照指定列分组
- ORDER BY 排序
默认从小到大
DESC从大到小 - HAVING 对分组函数进行条件限制
SQL> SELECT job,AVG(sal) 2 FROM emp 3 HAVING AVG(sal)>2000 4 GROUP BY job 5 ORDER BY 2; #按照第二列排序 JOB AVG(SAL) --------- ---------- MANAGER 2758.33333 ANALYST 3000 PRESIDENT 5000