Switching alias in subquery equality leads to different result
Think about the meaning of your queries as well, not just the structure.
It is not an order, but an employee-manager (boss) hierarchy.

First query means: list all employees who are managers of other employees.

There are 18 different manager_id values in the table, so you will get the data of 18 employees (as seen on your picture):

SQL&gt; select count(distinct manager_id) from employees;

COUNT(DISTINCTMANAGER_ID)
-------------------------
                       18


Second query means: list all employees that have managers. There are 107 employees and only one of them has no manager, so you get the data of 106 employees (as seen on your picture):

SQL&gt; select count(*), count(manager_id) from employees;

  COUNT(*) COUNT(MANAGER_ID)
---------- -----------------
       107               106