: Don't know about Oracle but in SQL-Server you can prefix the query with "Top 3" ( SELECT Top 3 emp.salary FROM emp) to get what you are after. I would guess thet there must be a similar command in Oracle.
: Hope that helps a bit.
You'd think there would be but there isn't. At least not as of 9i.
You have to compare the rownum to some constant, but you have to do it *after* ordering the results, like this:
select * from (
select * from emp
order by salary desc
where rownum <= 3
$ select * from users where clue > 0
no rows returned