It will be minimum, not maximum.
Alternative route for ordering and solving rownum
select min(hire_date) as earliest_hire_date from employees
This gets the earliest hiring date. Call it a subquery and join the staff to get the information you need.
select e.*, earliest_hire_date from (select min(hire_date) as earliest_hire_date from employees) a inner join employees e on e.hire_date = a.earliest_hire_date
The functions of the inner join as a filter are here. The advantage of this method is that if you have several employees hired on the same day, they will return several rows ... one for each employee hired on that date.
If you're comfortable without an internal join, this is equivalent to:
select e.*, earliest_hire_date from (select min(hire_date) as earliest_hire_date from employees) a, employees where e.hire_date = a.earliest_hire_date
source share