SELF JOIN एक ऐसा JOIN है जिसमें हम एक ही टेबल को खुद के साथ जोड़ते हैं। यह उन स्थितियों में उपयोग होता है जहां हमें एक ही टेबल में मौजूद डेटा को आपस में तुलना (compare) करनी हो।
उदाहरण के लिए, अगर कोई टेबल employee और उनके manager की जानकारी रखती है, तो SELF JOIN का प्रयोग कर के हम employee और उनके managers को एक साथ दिखा सकते हैं।
SELECT A.column_name, B.column_name
FROM table_name A
JOIN table_name B
ON A.common_column = B.common_column;
+----+----------+-----------+
| ID | Name | ManagerID |
+----+----------+-----------+
| 1 | Ramesh | NULL |
| 2 | Suresh | 1 |
| 3 | Mahesh | 1 |
| 4 | Dinesh | 2 |
+----+----------+-----------+
SELECT E1.Name AS Employee, E2.Name AS Manager
FROM Employees E1
LEFT JOIN Employees E2
ON E1.ManagerID = E2.ID;
+----------+----------+
| Employee | Manager |
+----------+----------+
| Ramesh | NULL |
| Suresh | Ramesh |
| Mahesh | Ramesh |
| Dinesh | Suresh |
+----------+----------+
ऊपर के उदाहरण में, Employees टेबल को दो बार उपयोग किया गया है — एक बार E1 के रूप में (employees) और एक बार E2 के रूप में (managers)।
SELF JOIN SQL का एक शक्तिशाली फीचर है, जो एक ही टेबल के अंदर डेटा के बीच संबंधों को दिखाने में सक्षम है। अगर आप hierarchy structure या internal relationships को analyze करना चाहते हैं, तो SELF JOIN आपके लिए एक बेहतर विकल्प है।