06oracle之条件表达式(case、decode)、多行函数、嵌套函数、分组子句的要求、Where和having的选择

您所在的位置:网站首页 多条件的函数 06oracle之条件表达式(case、decode)、多行函数、嵌套函数、分组子句的要求、Where和having的选择

06oracle之条件表达式(case、decode)、多行函数、嵌套函数、分组子句的要求、Where和having的选择

2024-03-04 16:34| 来源: 网络整理| 查看: 265

条件表达式:

条件表达式的作用是:在SQL语句中使用判断的逻辑(类似于IF-THEN-ELSE)来呈现个性化的数据。 条件判断语句有两种:

CASE 表达式:SQL99的语法,类似Basic,比较繁琐DECODE 函数:Oracle自己的语法,类似Java,比较简单

其中:

Decode函数也可以理解为解码翻译函数。 在这里插入图片描述

语法解释: decode (字段名,要翻译的原始值1,翻译后的值1,…,其他不满足翻译条件的默认值)

示例:

--需求:要将工种job的英文转换为中文 SELECT ename,job, DECODE(job,'CLERK','职员','SALESMAN','销售人员','MANAGER','经理','其他工种') FROM emp; 比如人的性别:一般数据库存放的是:0和1,2,在直接出报表的时候,就需要转换显示。 SELECT NAME 姓名, DECODE(sex,1,'男',0,'女','人妖') 性别 FROM TABLE; Case子句: 在这里插入图片描述 语法解释: case 字段 when 要翻译的值 then 翻译的结果 when 要翻译的值 then 翻译的结果 … else 默认的结果值 end;

示例:

SELECT * FROM emp; --需求:要将工种job转换为中文 SELECT t.ename, CASE job WHEN 'CLERK' THEN '办事员' WHEN 'SALESMAN' THEN '销售人员' ELSE '其他人员' END FROM emp t; --两种语法--第二种很复杂。。。。---虽然复杂但灵活 SELECT t.ename, CASE WHEN job='CLERK' THEN '办事员' WHEN job='SALESMAN' THEN '销售人员' ELSE '其他人员' END FROM emp t;

case子句增强

需求:查看公司员工的工资情况,要求显示员工的姓名、职位、工资、以及工资情况。如果是工资小于1000,则显示“工资过低”,工资大于1000小于5000为“工资适中”,工资大于5000的,则显示“工资过高”:

SELECT ename,job,sal, CASE WHEN sal


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3