`

oracle where条件分支查询

 
阅读更多
select *
from test xx
where (? = '-' AND  xx.xxx IN (select aa.XXXfrom AA aa))
       OR 
      (?<> '-' AND xx.xxx IN
(SELECT xsdf FROM xxx WHERE ddd =
'pp' OR ddd= 'bbb')) ;


?表示传入的参数 比如传一个 100 就是 '100' = '-' 当传入的参数等于-时 执行 后面的语句 否则 不等-时执行第二个括号里面的语句

注意?不是属性名 而是具体的值


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    【Oracle】树状结构查询

    ### 条件过滤与`WHERE`子句 `WHERE`子句可以用来限制查询结果,但它仅作用于当前节点,不会向下传递至子节点或向上影响父节点。例如,排除特定员工: ```sql SELECT LEVEL, SYS_CONNECT_BY_PATH(a.ename, '/'), a....

    Oracle数据库的分层查询

    Oracle 数据库的分层查询是一种强大的特性,它允许用户按照数据间的层级关系来检索和展示信息,即使这些数据在...在实际应用中,可以根据具体需求调整查询条件,如限制层级深度、修剪分支等,以满足各种复杂场景。

    Oracle-数据库所有查询命令【精排版】

    - **条件查询**: `WHERE`子句用于过滤记录,可以配合逻辑运算符`AND`、`OR`来组合多个条件。 - **日期函数**: `TO_CHAR`可以将日期转换为不同的字符串格式,`TO_DATE`可以将字符串转换为日期格式。 - **使用IN**: `...

    Oracle 实战SQL层次查询

    ### Oracle 实战SQL层次查询详解 #### 一、层次查询概念 层次查询,也被称为树型结构查询,是在SQL中最常见的功能之一。这种查询方式主要用于处理具有层级结构的数据,例如组织架构、产品分类等场景。在Oracle...

    Oracle_case_when_用法

    在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...

    oracle 学习笔记

    1. Where子句用于过滤查询结果,只显示符合条件的数据记录。 2. Where子句可以跟在SELECT、UPDATE、DELETE语句后面,其后面可以跟多个条件表达式,用于精确控制数据筛选。 3. 字符串在比较时是大小写敏感的。 4. ...

    oracle_sql使用.docx

    例如,DECODE函数可以用于根据特定条件返回不同值,而CASE WHEN则更灵活,可以处理多个条件分支。例如: ```sql SELECT MAX(DECODE(INPUT_NAME, 'if1', INPUT_VALUE, 'if2', then2, DEFAULT)) FROM table; ``` ...

    oracle 性能优化总结

    - DECODE函数可以在不重复扫描相同记录或重复连接相同表的情况下实现条件分支逻辑,从而提高执行效率。 7. **整合简单的无关联数据库访问**: - 如果有多个简单的查询语句,考虑将其整合到一个查询中,即使这些...

    oracle查询优化

    它类似于CASE WHEN结构,但语法更为简洁,适用于多分支条件判断的情况。 #### 6. 使用分组与汇总 在进行数据统计分析时,合理运用GROUP BY和聚合函数如SUM、AVG等,可以快速获得所需的结果集。然而,在使用这些...

    Oracle Sql基础 Oracle Sql基础 Oracle Sql基础

    - CASE表达式用于实现多分支条件判断,而DECODE函数则类似于IF-THEN语句。 #### 四、从多表中查询数据 **4.1 从多表中查询数据** - 本章主要讲解如何通过连接操作从多个表中获取数据。 **4.2 有效连接条件与...

    韩顺平oracle视频笔记

    - **条件查询**:使用`SELECT * FROM table_name WHERE condition;`语句查询符合条件的记录。 - **排序查询**:使用`ORDER BY column_name ASC|DESC;`语句按指定列排序结果集。 #### 4. Java 操作 Oracle - **JDBC*...

    oracle索引类型及扫描方式大整理new

    例如,当查询条件为`WHERE column = value`时,B\*Tree索引将从树的顶部开始搜索,通过逐级定位至目标值所在的具体叶块,从而实现快速检索。 #### 二、反向索引:优化并行服务器环境下的性能 反向索引是B\*Tree...

    Oracle数据库、SQL

    Oracle数据库和SQL是数据库管理和数据查询的核心工具。Oracle是一种关系型数据库管理系统(RDBMS),由Oracle公司开发,广泛应用于企业级数据管理。SQL(Structured Query Language)是用于操作数据库的标准语言,...

    oracle数据库性能优化宝典

    14. **用WHERE子句替换HAVING子句**:在能的情况下,将过滤条件移到WHERE子句中,以避免在GROUP BY后的HAVING子句中处理,因为HAVING通常会带来额外的计算成本。 15. **减少对表的查询**:通过缓存、物化视图、汇总...

    oracle 索引创建.ppt

    索引顺序应根据查询条件的频率和选择性进行优化。 - **覆盖索引(Covering Index)**:如果索引包含了查询所需的所有列,那么可以直接从索引中获取数据,无需回表,从而进一步提升性能。 最后,监控和分析索引的...

    Oracle_start_with_connect_by_prior_用法[文].pdf

    在 Oracle 中,START WITH 语句用于指定递归查询的开始记录,而 CONNECT BY 语句用于指定递归查询的条件。 基本语法结构为:SELECT * FROM 表名 WHERE 条件 1 START WITH 条件 2 CONNECT BY PRIOR 当前表字段 = ...

    ORACLE转DB2对照全解

    **注意:** Oracle支持多重条件分支结构(`IF-THEN-ELSIF`),而DB2仅支持基本的`IF-THEN`和`IF-THEN-ELSE`结构。 #### 二、动态语句 动态语句是指在运行时动态构建并执行的SQL语句,这对于需要根据不同的输入构建...

    oracle PLSQL结构控制语句

    分支结构是最基本的程序结构,用于根据条件改变程序的逻辑流程。PL/SQL 中的分支结构是通过 IF 语句实现的。IF 语句的基本形式为: ```sql IF 条件 THEN 语句序列 1; [ELSIF 条件 2 THEN 语句序列 2;] [ELSE 语句...

Global site tag (gtag.js) - Google Analytics