Maybe, but I'd have done it a different way. The original data already has more than 1 level.
The original data also has a flaw in it that makes it impossible to enforce the rule that no one should report to themselves to prevent cycles in code. Groucho's superviser ID should have been NULL. A NULL would not interfere with the reference that a superviser ID must also be an employee ID.
--Jeff Moden
Change is inevitable... Change for the better is not.