ROWNUM vs ROW_NUMBER()

Published July 26, 2025 By Sai Sree Ram Gundepudi

ROWNUM vs ROW_NUMBER()

ROWNUM

Assigned before sorting. Use subqueries for proper ordering.

SELECT * FROM (SELECT * FROM employees ORDER BY salary DESC) WHERE ROWNUM <= 5;

ROW_NUMBER()

SELECT * FROM (
  SELECT e.*, ROW_NUMBER() OVER (ORDER BY salary DESC) AS rn
  FROM employees e
) WHERE rn <= 5;

Was this solution helpful?

Your feedback helps improve our technical knowledge repository.

Share this article