Ένα self-join είναι ένα join όπου ένας πίνακας συνδέεται με τον εαυτό του — χρήσιμο όταν οι σειρές σε έναν πίνακα σχετίζονται με άλλες σειρές στον ίδιο πίνακα, όπως ιεραρχίες (υπάλληλοι και οι διευθυντές τους) ή σύγκριση σειρών εντός ενός πίνακα.
Το κλασικό παράδειγμα: υπάλληλοι και διευθυντές
employees table — manager_id references another employee's id (in the SAME table):
id | name | manager_id
1 | Ann | NULL (Ann is the boss)
2 | Bob | 1 (Bob's manager is Ann)
3 | Carol | 1 (Carol's manager is Ann)
e.name employee, m.name manager
employees e
employees m e.manager_id m.id;
