Find nth Salary Without Using Max or Top In SQL

Here I am writing SQL query to find nth salary without using top or max keywords. 
  1. SELECT * FROM (  
  2. SELECT ROW_NUMBER() OVER (ORDER BY SALARY DESCAS rownumber,Salary  
  3. FROM Employee )  
  4. AS foo  
  5. WHERE rownumber = n  
Example: 
  1. SELECT * FROM (  
  2. SELECT ROW_NUMBER() OVER (ORDER BY SALARY DESCAS rownumber,Salary  
  3. FROM Employee )  
  4. AS foo  
  5. WHERE rownumber = 5  
The above query will show 5th highest salary from Employee table.
 
Here is a free eBook, SQL Queries for Beginners