Question: May I know is there any solution to get the result without ordering in Oracle? It is because when I execute the query as follows, it seems to automatically helps me to sort it by ID field.

```
SELECT ID FROM USER WHERE ID IN (5004, 5003, 5005, 5002, 5008);

Actual results          Expected results
---5002                 ---5004
---5003                 ---5003
---5004                 ---5005
---5005                 ---5002
---5008                 ---5008

```

Million thanks if you guys have solutions on this.

Answer: 
`SELECT` statements return the rows of their result sets in an *unpredictable* order unless you give an `ORDER BY` clause. 

Certain DBMS products give the illusion that their result sets are in a predictable order. But if you rely on that you're bound to be disappointed.
Another solution that I found here.

```
select ID 
    from USER 
where ID in (5004, 5003, 5005, 5002, 5008)
    order by decode(ID, 5002, 1, 5003, 2, 5004, 3, 5005, 4, 5008, 5);

```

order by decode(COLUMN NAME, VALUE, POSITION)

\*Note: Only need to repeat the VALUE and POSITION

And yah, thanks for all the responds! I am really appreciate it.