I wonder why 1 doesn't work, what's the logic behind adding ROWNUM rn and using rn in the outer query that makes it work in 2?
Also I thought using ROWNUM = somenumber (except 1) won't work in oracle, what's making it work here in 2?
1.
SELECT SALARY
FROM (
SELECT SALARY
FROM EMPLOYEE
WHERE ROWNUM <= N
)
WHERE ROWNUM >= N;
RETURN result;
2.
SELECT SALARY
FROM (
SELECT SALARY, ROWNUM rn
FROM EMPLOYEE
WHERE ROWNUM <= N
)
WHERE rn = N;
RETURN result;