`
jin8000608172
  • 浏览: 140079 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

CASE WHEN和decode的使用

阅读更多
1.在查询中尽量不要使用“*”
2.多表查询时多使用别名(AS)
3.条件查询多使用WHERE,尽量避免使用HAVING
4.计算时不用索引列(select * from emp where sal+500>1000×select * from emp where sal>500
5.指定查询范围时多使用IN(select * from emp where id=1001 or id =1002× select * from emp where id in (1001,1002)
6.使用TRUNCATE清空表中记录
7.及时提交事务
8.多使用EXISTS和NOT EXISITS语句判断条件(select * from emp where deptid in (select id from dept where deptname='信息部')× select * from emp where deptid exists (select id from dept where deptname='信息部')
9.使用大写字母代替小写字母
10.尽量不使用不等号(使用不等号不会使用到索引)
11.尽量不想hi用NULL关键字判断空(IS NULL和IS NOT NULL不会使用索引查询)
12.使用ROWID去除表中的重复值

select name,
       decode(sex, 0, '女', '男') as 性别,
       (case sex when 0 then '女' 
       when 1 then '男' end) as sex
       ,(case  when age>=30 then '超过30岁的老师' when age < 30 then '低于30岁的老师' end )as 年龄情况
  from teacher
分享到:
评论

相关推荐

    decode函数与case when 的妙用

    在阅读博客文章《decode函数与case when 的妙用》时,作者可能分享了一些具体的示例和使用技巧,帮助我们更好地理解和掌握这两种方法。通过学习和实践,我们可以将这些知识应用于日常的数据库操作,优化数据处理流程...

    Oracle-Decode()函数和CASE语句的比较

    Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...

    Oracle_case_when_用法

    `CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ANSI 标准而更受推荐使用。 #### 二、基本结构 `CASE WHEN` 语句的基本结构如下: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ...

    Oracle用decode函数或CASE-WHEN实现自定义排序

    `DECODE`函数和`CASE-WHEN`语句都是实现这一目标的有效工具。根据实际的业务需求和性能考虑,可以选择合适的方法进行应用。在编写SQL时,确保理解并充分利用这些高级功能,可以提升代码的可读性和执行效率。希望本文...

    oracle case when 语句的用法详解

    综上所述,Oracle的CASE WHEN语句是数据库查询中处理条件分支的重要工具,可以在SELECT、WHERE和GROUP BY等不同场景中使用,提供了一种灵活的方式来构造复杂的逻辑判断。了解并熟练运用CASE WHEN,能够显著提升SQL...

    [数据库] Oracle使用CASE判断解决多值问题1

    为了简化这一过程,我们可以利用Oracle SQL的内置函数,如DECODE和CASE WHEN,直接在数据库层面进行处理。 首先,尝试使用DECODE函数。DECODE函数允许我们根据指定的条件返回不同的值。例如,DECODE(ZY_TYPE, '国家...

    ORACLE 列转行 DECODE函数用法

    在实际工作中,你可能还需要结合其他SQL函数,如CASE WHEN或NVL,来进一步增强DECODE的功能。例如,当你需要处理可能的NULL值时,NVL函数可以提供一个默认值,防止因NULL而导致的结果异常。 总之,Oracle的DECODE...

    oracle的decode函数

    - **性能考量**:虽然`DECODE`函数在简单场景下非常有效,但在复杂逻辑或大量数据的情况下,使用`CASE WHEN`或其他方式可能会更加高效。 总之,`DECODE`函数是Oracle数据库中一个非常有用的工具,尤其适用于需要...

    数据库基础 高级sql编程

    * Case 与 Decode 的使用场景:数据分析、数据处理、报表生成等 在高级 SQL 编程中,Case 与 Decode 是两个非常有用的函数,它们能够极大地提高数据处理能力和查询效率。 高级 SQL 编程在数据库开发技术中扮演着...

    oracle sql 行列转换

    无论是使用CASE语句、DECODE函数还是PIVOT操作符,关键在于理解数据结构和转换需求,选择最合适的工具来实现转换。这些技能对于高效处理和分析复杂数据集至关重要,尤其是在IT行业中,掌握这些技能将大大提高数据...

    ORACLE DECODE函数在中国式报表统计查询中的组合条件实现

    然而,在面对复杂的多条件组合统计需求时,`DECODE`函数的应用可能会变得相对繁琐,这时往往更倾向于使用`CASE WHEN`语句或创建视图的方法来解决。不过,如果出于特定原因需要坚持使用`DECODE`函数,那么了解如何...

    mysql仿oracle的decode效果查询

    然而,MySQL 并没有内置的 `DECODE` 函数,但我们可以使用 `CASE WHEN` 语句来达到类似的效果。下面我们将详细探讨如何在 MySQL 中实现类似于 Oracle 的 `DECODE` 查询。 首先,让我们回顾一下 Oracle 中 `DECODE` ...

    一道java面试题 行列转换

    在 SQL Server 中,可以通过使用 `CASE WHEN` 语句来实现行列转换的功能。下面提供两种不同的方法: ###### 方法一:单条SQL语句实现 ```sql SELECT sid, SUM(CASE cid WHEN '1000' THEN mark ELSE NULL END) AS ...

    oracle_sql使用.docx

    这是因为CASE WHEN可以产生多个结果行,所以通常需要与GROUP BY或聚合函数如MAX结合使用,以确保正确地分组和汇总数据。 Oracle SQL提供了一些特殊功能来处理数据。例如,DECODE函数可以用于根据特定条件返回不同值...

    SQL学习笔记.docx

    CASE WHEN 函数的语法为 CASE WHEN condition THEN result [ WHEN condition THEN result ... ] ELSE result END,其中 condition 是条件,result 是执行的结果。 SIGN 函数 SIGN 函数是一个数学函数,用于返回一...

    在employees表中查询出员工的工资,并计算应交税款

    根据提供的文件信息,本文将详细解释如何在...使用CASE语句和DECODE函数都是解决这类问题的好方法,具体选择哪一种取决于实际需求和个人喜好。希望这篇文章能帮助你更好地理解和掌握如何在Oracle数据库中处理此类问题。

    orcale数据库 行列互换

    在Oracle中,可以使用SQL的CASE语句或者DECODE函数来实现行转列。例如,在提供的描述中,我们看到一个例子是将学生的语文和数学分数从行转换为了列。 ```sql SELECT student AS '姓名', SUM(CASE name WHEN '语文'...

    SQL经典面试题及答案

    - `SUM(CASE WHEN shengfu = '胜' THEN 1 ELSE 0 END)` 这部分使用了`CASE`语句对每行数据进行判断,如果是“胜”则返回1,否则返回0。然后通过`SUM()`函数对所有1求和,从而得到“胜”的总数。 - 同样的逻辑也适用...

Global site tag (gtag.js) - Google Analytics