先创建表,如下:  CREATE TABLE old_temp_order (userid VARCHAR2(20) PRIMARY KEY,username VARCHAR2(20));
插入值:        INSERT INTO OLD_TEMP_ORDER (USERID, USERNAME) VALUES ('10120110514051', '第一');
        INSERT INTO OLD_TEMP_ORDER (USERID, USERNAME) VALUES ('10120110514052', '第二');
        INSERT INTO OLD_TEMP_ORDER (USERID, USERNAME) VALUES ('10120110514053', '第三');
我想得到如下顺序出来的内容10120110514053 第三
10120110514052 第二
10120110514051 第一        
我用union all可以得到结果,如下:         SELECT USERID, USERNAME FROM OLD_TEMP_ORDER WHERE USERID = '10120110514053'
         UNION ALL
         SELECT USERID, USERNAME FROM OLD_TEMP_ORDER WHERE USERID = '10120110514052'
         UNION ALL
         SELECT USERID, USERNAME FROM OLD_TEMP_ORDER WHERE USERID = '10120110514051'
但是我用sqlSELECT * FROM OLD_TEMP_ORDER WHERE USERID IN ('10120110514053', '10120110514052', '10120110514051');总是得不到想要的结果,而且无论In中的顺序如何变化,结果都是一样的,都不能改变我需要的,请讨论下如果这样查询IN的语法机制在哪里,为什么就出现不了我想得到的结果的,麻烦高手请教下,十分感谢!!!