A self-join ਇੱਕ 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;
