Oracle 数据库逻辑判断函数和分组函数
2026/4/14 11:09:29 网站建设 项目流程

逻辑判断函数

(1) case 函数

语法

case 字段 when 条件值1 then 结果1 when 条件值2 then 结果2 ... else 默认结果 end
  • 依次判断字段是否等于对应值,相等则返回对应结果
  • 都不满足则返回else内容
  • 必须以end结束

示例

select ename,sal, case job when 'SALESMAN' then sal+100 when 'MANAGER' then sal+200 else sal end as new_sal from emp;

(2) decode 函数(Oracle 特有)

语法

decode(字段, 条件值1, 结果1, 条件值2, 结果2, ... 默认值)

示例

select ename,job,sal, decode(job, 'SALESMAN', sal+100, 'MANAGER' , sal+200, sal) as new_sal from emp;

分组函数(聚合函数)

(1) sum ():求和

select sum(comm) "奖金总和" from emp;

(2) avg ():求平均值

select avg(sal) "平均工资" from emp;

(3) max ():最大值

select max(sal) "最高工资" from emp;

(4) min ():最小值

select min(sal) "最低工资" from emp;

(5) count ():计数

-- 统计总记录数 select count(*) "人数" from emp; -- 统计某列非空数量 select count(comm) "有奖金人数" from emp;

(6) group by:分组

-- 按职位分组,统计每组人数 select job,count(*) "人数" from emp group by job;

(7) having:分组后筛选

-- 只显示人数 >=3 的职位分组 select job,count(*) "人数" from emp group by job having count(*)>=3;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询