SQL+ Select highest 5 number of entries and display in ascending order
No, that does not work fine for selecting highest entries. Your query grabs the first 5 rows in any order, and orders them by commission, it is a very common mistake with rownum.

You need to order by first and after that you can use rownum:

select * from 
(
  SELECT LAST_NAME, COMMISSION_PCT 
  FROM EMPLOYEES
  WHERE JOBID = 'SALES' order by commission_pct desc
)
where rownum &lt;= 5
order by commission_pct;


Or:

select last_name, commission_pct from 
(
  SELECT LAST_NAME, COMMISSION_PCT, rank() over (order by commission_pct desc) as rn 
  FROM EMPLOYEES
  WHERE JOBID = 'SALES'
)
where rn &lt;= 5
order by commission_pct;


Or 12c+:

select * from (
select last_name, commission_pct 
FROM EMPLOYEES WHERE JOBID = 'SALES'
order by commission_pct desc fetch first 5 rows only)
order by commission_pct;