条件表达式 :IF-THEN-ELSE 逻辑
CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END
DECODE(col|expression, search1, result1
[, search2, result2,...,]
[, default])
//为职位是Manager的员工发放5000元的奖金
SQL> select ename,job,case job when 'MANAGER' then nvl(sal,0)+5000 end as "工资" from emp;
//员工的工资
SQL> select ename ,job,
2 case job when 'MANAGER' then nvl(sal,0)+5000+nvl(comm,0)
3 else nvl(sal,0)+nvl(comm,0)
4 end
5 from emp;
//改写成 decode的写法
SQL> select ename,job
2 ,decode(job,'MANAGER', nvl(sal,0)+5000+nvl(comm,0),
3 'CLERK',nvl(sal,0)+nvl(comm,0)+200,
4 nvl(sal,0)+nvl(comm,0)) as "工资"
5 from emp;
//作业: 当员工为Manger 加5000员 当员工为SALESMAN 加1000 当员工为 clerk加500
SQL> select ename,job,case job when 'MANAGER' then nvl(sal,0)+5000+nvl(comm,0)
when 'SALESMAN' then nvl(sal,0)+1000+nvl(comm,0)
when 'CLERK'then nvl(sal,0)+500+nvl(comm,0)
else nvl(sal,0)+nvl(comm,0)
end from emp;
ENAME JOB CASEJOBWHEN'MANAGER'THENNVL(SA
---------- --------- ------------------------------
SMITH CLERK 1300
ALLEN SALESMAN 2900
WARD SALESMAN 2750
JONES MANAGER 7975
MARTIN SALESMAN 3650
BLAKE MANAGER 7850
CLARK MANAGER 7450
SCOTT ANALYST 3000
KING PRESIDENT 5000
TURNER SALESMAN 2500
ADAMS CLERK 1600
JAMES CLERK 1450
FORD ANALYST 3000
MILLER CLERK 1800
kou%kou% 0
xiao%lin 0
xiao%lin 0
17 rows selected
SQL> select ename,job,decode(
2 job,'MANAGER',nvl(sal,0)+5000+nvl(comm,0),
3 'SALESMAN',nvl(sal,0)+1000+nvl(comm,0),
4 'CLERK',nvl(sal,0)+500+nvl(comm,0))
5 as "工资" from emp;
ENAME JOB 工资
---------- --------- ----------
SMITH CLERK 1300
ALLEN SALESMAN 2900
WARD SALESMAN 2750
JONES MANAGER 7975
MARTIN SALESMAN 3650
BLAKE MANAGER 7850
CLARK MANAGER 7450
SCOTT ANALYST
KING PRESIDENT
TURNER SALESMAN 2500
ADAMS CLERK 1600
JAMES CLERK 1450
FORD ANALYST
MILLER CLERK 1800
kou%kou%
xiao%lin
xiao%lin
17 rows selected
分享到:
相关推荐
HTML笔记. J2EE笔记. Javascript笔记. JAVA笔记.oracle 笔记.Linux笔记.tomcat笔记.面试问题.数据结构.听韩顺平的笔记.正则表达式.等,我是我在上大学时学习做的笔记,拿出来和大家共享。。
Oracle正则表达式是Oracle数据库中用于处理字符串的强大工具,尤其在数据检索、过滤和转换等方面发挥着重要作用。本文将详细介绍Oracle正则表达式的各个方面,帮助读者快速掌握这一技术。 一、正则表达式基础 正则...
### 韩顺平Oracle视频笔记知识点概览 #### 1. Oracle 用户管理 - **概念**:在Oracle数据库中,用户是用来管理访问权限的基本单位。每个用户都可以有自己的模式(schema),其中包含各种对象如表、视图等。 - **创建...
本笔记主要探讨了两个关键概念:约束和索引,这些都是Oracle数据库中的基础但至关重要的元素。 **1. 约束(Constraints)** 约束是Oracle数据库中用于确保数据完整性的规则。它们分为以下几种类型: - **非空约束...
Java正则表达式是编程语言Java中的一个强大工具,用于处理字符串模式匹配和搜索替换操作。...对于“暑假培训学习笔记之 java正则表达式”这个主题,深入学习这些知识点将有助于提升你在Java编程中的文本处理能力。
### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...
马士兵的Oracle笔记提供了许多关于Oracle SQL的基础操作和技巧,以下是其中的关键知识点: 1. **SQLPlus登录**:Oracle数据库可以通过SQLPlus工具访问,`sqlplus sys/bjsxt as sysdba`命令用于以超级管理员(SYS)...
### Oracle超详细学习笔记 #### 一、基本查询与数据操作 ##### 1. 最简单的查询 - **命令示例**: ```sql SELECT * FROM employees; DESC employees; SET LINESIZE 600; SET PAGESIZE 50; ``` - **解释**: ...
Oracle正则表达式是Oracle数据库中用于处理字符串的强大工具,尤其在数据检索、过滤和转换等方面发挥着重要作用。本文将详细解析Oracle正则表达式的各项关键知识点。 首先,正则表达式是一种模式匹配语言,它允许...
Oracle笔记可能涉及数据库的安装配置、SQL语言的基本操作、表的设计以及事务处理等内容。JDBC的学习笔记可能涵盖如何加载驱动、创建数据库连接、执行SQL语句、使用PreparedStatement、ResultSet处理结果集等步骤。...
以上内容详细介绍了 Oracle 数据库中基本查询的语法与原理、常用的算术运算与表达式、数值与字符函数的应用以及排序和模糊查询的方法。掌握这些基础知识对于日常数据库操作至关重要,可以帮助用户高效地管理和检索...
组合索引则是在两个或多个列上创建的索引,适用于那些列经常一起出现在WHERE条件中的情况。列的顺序会影响索引的效率,建议将最常被查询的列放在索引的最前面。例如,如果我们经常同时根据`owner`和`object_name`...
### 最全的Oracle笔记知识点概览 #### 一、Oracle SQL基础 - **数据库与SQL:** Oracle SQL 是 Oracle 数据库系统中用于管理和查询数据的标准语言。SQL(Structured Query Language,结构化查询语言)分为几个主要...
Oracle笔记主要涵盖了Java编程语言的基础知识点,包括数据类型的使用、二进制转换、位运算、逻辑运算符、基本数据类型、类型转换、运算符、三元运算符等内容。本篇笔记详细记录了标识符的命名规则、不同进制之间的...
2. Where子句可以跟在SELECT、UPDATE、DELETE语句后面,其后面可以跟多个条件表达式,用于精确控制数据筛选。 3. 字符串在比较时是大小写敏感的。 4. Where子句中可以使用的运算符包括BETWEEN AND、IN、LIKE、IS ...
- `DECODE(expression, value1, result1, value2, result2, ..., default_result)`根据表达式的结果返回相应的值,如果没有匹配项,则返回默认结果。 以上是Oracle数据库中的一些基础命令和SQL语句,它们构成了...
这份2023年的马士兵Oracle笔记涵盖了Oracle数据库的一些基础操作和关键概念,包括客户端工具、用户管理、表结构、SELECT语句、DISTINCT关键字、WHERE子句、ORDER BY子句以及SQL函数。 1. **客户端工具**: - **SQL...
在本资源中,我们可以看到作者Stephenzhou对 Oracle DBA 的学习笔记,这些笔记涵盖了 Oracle DBA 的基础知识、SQL 语言概述、条件表达式、函数、查询结构、分组函数、创建数据库、管理和维护表等方面的内容。...
Oracle数据库是一种广泛使用的大型关系型...Oracle数据库的学习笔记不仅能帮助初学者快速入门,而且对于中高级用户同样具备参考价值,特别是在学习和记忆数据库的众多命令和语法时,好的笔记可以显著提高学习效率。
根据给定的“韩顺平Oracle笔记-查询”的文件信息,我们可以提炼出多个关于Oracle SQL查询的重要知识点。这些知识点不仅涵盖了基本的SQL语句构造,还包括了子查询、多表连接、聚合函数以及高级查询技术等内容。下面将...