`

oracle 查询in操作 查询结果按in集合顺序显示

 
阅读更多

 问题如下:

select * from tfm_services t where t.service_name in ('QueryAdviceConfigService'
,'ResetAdviceListState'    
,'CancelAdviceListState'
,'GetSMSCharLimit'
,'SendSMSService'
,'AddAdviceType'
,'ModAdviceType'
,'DelAdviceType'
,'DelAdviceTypeLang'
,'AddAdviceTypeLang');

 

查询出来的结果如何按照我传递参数的顺序显示出来,而不是按照service_name的首字母顺序排列

 

有一个办法,不过比较麻烦。

SQL如下:

 

select * from tfm_services t where t.service_name in (

'QueryAdviceConfigService'

,'ResetAdviceListState'    

,'CancelAdviceListState'

,'GetSMSCharLimit'

,'SendSMSService'

,'AddAdviceType'

,'ModAdviceType'

,'DelAdviceType'

,'DelAdviceTypeLang'

,'AddAdviceTypeLang')

ORDER BY decode(t.service_name,'QueryAdviceConfigService',1,

'ResetAdviceListState',2,

'CancelAdviceListState',3,

'GetSMSCharLimit',4,

'SendSMSService',5

,'AddAdviceType',6

,'ModAdviceType',7

,'DelAdviceType',8

,'DelAdviceTypeLang',9);

分享到:
评论

相关推荐

    Oracle查询优化改写技巧与案例

    本篇文章将深入探讨Oracle查询优化的一些改写技巧,并结合实际案例进行讲解。 一、索引的合理利用 1. 唯一性索引:为经常用作查询条件的列创建唯一性索引,可以确保查询时快速定位到单条记录,例如主键和唯一约束...

    oracle操作文档

    - **IN**:使用 IN 可能会导致 ORACLE 尝试将其转换为表连接,如果转换失败,则会先执行子查询,再查询外层表。这增加了不必要的转换步骤。 - 示例:`SELECT * FROM T1 WHERE ID IN (SELECT ID FROM T2)`,改写为:...

    oracle常用经典sql查询

    - 游标允许逐行处理查询结果,常用于循环处理。 13. **动态SQL** - 动态SQL允许在运行时构建和执行SQL语句,如`EXECUTE IMMEDIATE 'SELECT * FROM table WHERE id = :1' INTO variable USING id_value;` 通过...

    oracle查询优化

    虽然在Oracle中,不同的表前缀和大小写写法不会影响查询结果或性能,但这会影响共享SQL区域的利用率。保持一致的命名和格式习惯,可以减少SQL解析次数,节省系统资源。 **2. WHERE子句中的条件顺序** 条件的顺序...

    Oracle操作语句大全

    以上就是基于提供的文件内容整理的Oracle操作语句的详细介绍,涵盖了表结构描述、基础查询、数据选择与处理、字符串操作、去重查询、条件查询、区间与集合查询、日期查询、逻辑运算符、通配符查询和排序等方面的知识...

    oracle常用经典SQL查询

    - `ORDER BY`子句:用于对查询结果进行排序,如`SELECT * FROM table_name ORDER BY column ASC/DESC;` 2. **聚合函数**: - `COUNT()`:计算行数,如`SELECT COUNT(*) FROM table_name;` - `SUM()`:计算数值列...

    oracle语句性能优化集合

    - **子查询优化**:考虑使用连接操作替换子查询,或利用 EXISTS 替换 IN。 3. **索引策略** - **复合索引**:对于多列查询,复合索引可以提高性能,但需注意索引列的选择顺序。 - **覆盖索引**:索引包含查询所...

    oracle常用查询语句示例

    此外,Oracle还支持集合操作,如并集(UNION),交集(INTERSECT)和差集(MINUS): ```sql -- 并集:返回两个查询结果的唯一行 SELECT column FROM table1 UNION SELECT column FROM table2; -- 交集:返回两个...

    45 个非常有用的 Oracle 查询语句(1).rar_oracle

    6. **排序(ORDER BY)**:用于对查询结果进行升序或降序排列,可结合ASC(升序)和DESC(降序)关键字使用。 7. **分页查询(LIMIT与OFFSET)**:在大量数据中,LIMIT用于限制返回的行数,OFFSET则用来跳过指定...

    oracle-非常有用的查询语句整理(一)

    在Oracle数据库管理中,SQL(结构化查询语言)是核心工具,用于检索、操作和管理数据。本资料“oracle-非常有用的查询语句整理(一)”聚焦于一系列实用的查询技巧,旨在帮助用户更高效地操作Oracle数据库。以下是...

    Oracle数据库应用教程子查询与高级查询.pptx

    7. **集合操作符**:UNION、UNION ALL、INTERSECT和EXCEPT等操作符用于合并或筛选来自多个查询的结果集。例如,UNION合并两个查询的唯一行,而UNION ALL包括所有行,无论是否有重复。 掌握这些概念和技巧对于有效...

    Oracle数据库维护常用SQL语句集合

    6. **分组与排序(GROUP BY和ORDER BY)**:GROUP BY用于按一个或多个列对结果进行分组,而ORDER BY则用于对结果集进行升序或降序排序。 7. **联接(JOIN)**:JOIN操作允许你从两个或更多表中合并数据。例如,`...

    Oracle数据库应用教程--子查询与高级查询.pptx

    集合操作符如UNION、INTERSECT和MINUS也用于合并或对比多个查询结果集。 掌握这些概念和操作是Oracle数据库管理员和开发人员的基础,它们能帮助处理复杂的数据查询和分析,提高数据处理效率。通过实践和理解这些...

    Oracle——sql语句优化

    Oracle会尝试将IN操作符转换为多表连接查询,若转换失败,则需先执行子查询获取值集合,再对外层表进行查询。这一额外的转换步骤可能导致性能下降。对于复杂的查询,尤其是涉及分组和统计的场景,IN操作符的转换机制...

    oracle 数据库查询

    实际上,Oracle SQL还包括窗口函数、子查询、集合操作、游标、存储过程等高级特性。通过熟练掌握这些,你将能够有效地管理和分析Oracle数据库中的数据。 在提供的压缩包文件中,可能包含了一些具体的查询实例,你...

    oracle基本查询操作子查询用法实例分析

    - 可以使用括号调整集合操作的顺序。 - 如果有`ORDER BY`,必须置于最后的SELECT语句之后。 - 结果集的列名和格式由第一个SELECT语句决定。 理解并熟练运用这些子查询和集合运算的技巧,能帮助你在Oracle数据库...

    MLDN魔乐科技JAVA培训_Oracle课堂11_子查询.rar

    - **多行子查询**:返回一个值集合,可以与IN、NOT IN、ANY、ALL等操作符结合。 - **相关子查询**:主查询与子查询之间存在关联,子查询的结果依赖于主查询的行。 - **分组子查询**:在GROUP BY和HAVING子句中...

Global site tag (gtag.js) - Google Analytics