PL/SQL模块学习之五、逻辑判断和分组函数

本文深入解析SQL中的逻辑判断功能,包括CASE表达式与DECODE函数的使用方法,以及分组函数如AVG、SUM、MAX、MIN和COUNT的功能与应用实例。通过具体案例展示如何在查询中实现条件判断和数据聚合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值