A self join gives the same table two alias names so each side is readable.
two aliases
Read alias copies
The output shape has 8 qualified alias columns.
qualified columns=8
Self-join examples are tiny finite-table transforms with two aliases of one source table; SQL dialect completeness, type coercion, optimizer behavior, execution cost, indexing, and database-product claims are out of scope.
Aliases label roles
Here employee is the left alias, and manager is the right alias.
employee and manager
Summary
Aliases keep the two roles separate even though the source rows are the same.